调试C++;在Netbeans中 我在Ubuntu中使用NETBeaEDEE工作C++程序是非常新的。我编写了一个简单的Hello World程序,并尝试使用step-Into进行调试。当我从“调试”菜单中单击“单步执行”选项时,我打开了一个名为“Diassembly(main)”的新窗口。调试过程没有以任何方式到达我的源代码行。我反复单击StepInto函数,最后进程结束了,没有跟踪源代码行。但是在调试输出窗口中,我得到了正确的结果 #include <iostream> using namespace std; int main() { cout<<"Hello"; cout<<"World"; } #包括 使用名称空间std; int main() { cout

调试C++;在Netbeans中 我在Ubuntu中使用NETBeaEDEE工作C++程序是非常新的。我编写了一个简单的Hello World程序,并尝试使用step-Into进行调试。当我从“调试”菜单中单击“单步执行”选项时,我打开了一个名为“Diassembly(main)”的新窗口。调试过程没有以任何方式到达我的源代码行。我反复单击StepInto函数,最后进程结束了,没有跟踪源代码行。但是在调试输出窗口中,我得到了正确的结果 #include <iostream> using namespace std; int main() { cout<<"Hello"; cout<<"World"; } #包括 使用名称空间std; int main() { cout,c++,debugging,netbeans,C++,Debugging,Netbeans,首先,您必须通过在源代码窗口中单击要停止的行的行号来切换代码中的断点(如果没有)。然后点击调试。 不要单步执行非源代码生成的函数,只需单步执行即可。首先,如果不执行,则必须通过单击源代码窗口中要停止的行的行号来切换代码中的断点。然后单击调试。 不要介入非源代码构建的函数,只需跳过它即可。也许这里有答案(对不起,我无法评论) 也许这里有答案(对不起,我不能评论) 您必须使用-g选项进行编译,否则调试器将无法在断点处停止。至于反汇编窗口,我无法重现它(我在Ubuntu 13的Netbeans 7.4

首先,您必须通过在源代码窗口中单击要停止的行的行号来切换代码中的断点(如果没有)。然后点击调试。
不要单步执行非源代码生成的函数,只需单步执行即可。

首先,如果不执行,则必须通过单击源代码窗口中要停止的行的行号来切换代码中的断点。然后单击调试。
不要介入非源代码构建的函数,只需跳过它即可。

也许这里有答案(对不起,我无法评论)


也许这里有答案(对不起,我不能评论)


您必须使用
-g
选项进行编译,否则调试器将无法在断点处停止。至于反汇编窗口,我无法重现它(我在Ubuntu 13的Netbeans 7.4上)。如果不需要,您应该关闭该窗口。

您必须使用
-g
选项进行编译,否则调试器将无法在断点处停止。至于反汇编窗口,我无法重现(我在Ubuntu 13的Netbeans 7.4上)。如果不需要,您应该关闭该窗口。

可能的重复。我在eclipse IDE中尝试了相同的方法。它说“没有可用的源代码”main()位于0x80486a3。“我也遇到了这个问题,在一些项目上(在另一个项目上,我遇到了这个问题),您最终找到了解决方案吗(除了“使用eclipse”)?可能重复。我在eclipse IDE上尝试了同样的方法。它说“没有可用于”main()的源代码,在0x80486a3“我也遇到了这个问题,在一些项目上(在另一个项目上,我遇到了这个问题),您最终找到了解决方案吗(除了“使用eclipse”)?我试过了。但是我得到的结果和我之前得到的一样。我不知道你是如何调试你的程序的,也许你做了错误的调试过程。我试过了。但是我得到的结果和我之前得到的一样。我不知道你是如何调试你的程序的,也许你做了错误的调试过程。如何像你上面说的那样更改编译设置?我对Netbeans非常陌生。您能告诉我如何使用-g选项进行编译吗?@SmithDwayne-Netbeans调用
make
进行编译,因此您的目录中应该有
Makefile
。查看此文件内的
CFLAGS
变量(或类似变量)定义编译标志。如何像你上面说的那样更改编译设置?我对Netbeans很陌生。你能告诉我如何使用-g选项进行编译吗?@SmithDwayne-Netbeans调用
make
进行编译,因此你的目录中应该有
Makefile
。查看此文件内部的
CFLAGS
变量(或类似变量)定义编译标志。