func(); 调试第二行时,调试器进入 sh-6ren">
gpt4 book ai didi

c++ - NetBeans C++ 中是否有 "just my code"功能?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:05 26 4
gpt4 key购买 nike

我正在 Debian 下的 NetBeans 7.4 中调试 C++ 11 项目,我遇到了以下代码的问题:

shared_ptr<my_obj> node;
node->func();

调试第二行时,调试器进入 shared_ptr 代码('->' 运算符重载代码)。

有没有办法告诉调试器只调试项目代码?喜欢 VS 中的“仅我的代码”吗?

我不是在谈论跨步与步入问题。当我尝试进入时,我希望调试器进入我自己的代码,即 func() 中的代码。相反,它进入 shared_ptr -> 运算符重载代码。

使用“仅我的代码”功能,调试器会跳过 c++ 代码,直接进入“有趣”的代码

最佳答案

据推测,netbeans 正在对 native linux 调试器 gdb 使用 GUI 前端。您所指的问题是 nextstep 命令之间的区别。

查看this simple tutorial ,似乎 netbeans 界面将它们分别称为“Step Over”(带弯曲箭头的按钮)和“Step Into”(带直向下箭头的按钮);你想使用前者而不是后者。带有直向上箭头的按钮(“Step Out”)相当于 gdb 的 finish

更具体地说,听起来您想跳过声明 shared_ptr 的第一行并进入下一行。如果您发现自己不小心进入了您不感兴趣的地方(或者您已经完成了某个地方),退出 应该会带您回到调用您进入的函数的那一行完成通话。

如果问题是调试器在您介入时输入了 shared_ptr 的 -> 运算符代码,您应该能够通过 step out 解决这个问题。然后 GUI 可能会显示您仍在同一 node->func() 行上(-> 调用已完成返回指向共享对象的指针)。如果您现在再次按 step in,您应该位于 my_obj::func 的第一行。

关于c++ - NetBeans C++ 中是否有 "just my code"功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24632659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com