我正在Debian下调试NetBeans 7.4中的c++ 11项目,并且我遇到了以下代码的问题:
shared_ptr<my_obj> node;
node->func();
当调试第二行时,调试器将进入shared_ptr代码('->'操作符重载代码)。
是否有一种方法可以告诉调试器只调试项目代码?就像《VS》中的"Just My Code"?
我不是在谈论一个逐步过渡和逐步进入的问题。当我尝试进入时,我希望调试器进入我自己的代码,意思是func()中的代码。相反,它会进入shared_ptr ->
操作符重载代码。
使用'Just My Code'功能,调试器跳过c++代码,直接进入'有趣的'代码
推测netbeans正在使用本地linux调试器gdb
的GUI前端。您所指的问题是next
和step
命令的区别。
finish
。
更具体地说,这听起来像是您想要跳过声明shared_ptr的第一行,而进入下一行。如果您发现自己不小心进入了您不感兴趣的内容(或者您正在执行某个任务),step out应该将您带回到通过完成调用而调用您进入的函数的行。如果问题是调试器在您进入时为shared_ptr输入->
操作符代码,那么您应该能够通过退出来完成此操作。GUI可能会显示您仍然在同一node->func()
行(->
调用已经完成返回指向共享对象的指针)。如果您现在再次在中按step,您应该位于my_obj::func
的第一行。