我对在Ubuntu中使用Netbeans IDE处理c++程序非常陌生。我写了一个简单的Hello World程序,并尝试使用step Into进行调试。当我点击调试菜单中的Step Into选项时,我打开了一个名为"Diaassembly(main)"的新窗口。调试过程根本没有到达我的源代码行。我反复点击Step Into Function。最后,这个过程结束了,没有跟踪我的源代码行。但是在调试输出窗口中,我得到了正确的结果。
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello";
cout<<"World";
}
为什么此流程控制转到Diaassembly(主)窗口?如何纠正这个问题?
必须使用-g
选项进行编译,否则调试器将无法在断点处停止。至于反汇编窗口,我无法重现(我在Ubuntu 13中使用Netbeans 7.4)。如果不需要,您应该关闭窗口。
首先,您必须通过在源窗口中单击要停止的行的行号来切换代码中的断点(如果没有)。然后点击调试。不要介入非源代码构建的函数,只需跨过它即可。
我很高兴这里有答案(对不起,我不能评论)
"没有可用于main()的源";在Eclipse中使用gdb 调试简单C++时出错