为什么Netbeans没有停在我的断点?

时间:2014-10-13 12:29:00

标签: c++ netbeans

我在Netbeans 8.0.1上使用现有资源和Makefile创建了一个C ++项目。

我运行了运行Makefile罚款的构建并构建了名为a.out的可执行文件。

问题在于,当我在IDE中设置断点时,它不会暂停。

问题是什么?

本网站上的其他任何问题都没有解决问题。

生成文件:

CC=g++

build: foo.cpp foo.h main.cpp
    $(CC) foo.cpp foo.h main.cpp

2 个答案:

答案 0 :(得分:6)

我有时也会遇到这个问题。有几种可能的解决方案:

  1. 确保构建一个Debug构建版本,-g是构建时编译器命令的一部分(默认情况下应该是这样,但是你必须仔细检查,特别是因为你似乎在使用你的拥有Makefile)。
  2. 重新启动NetBeans并执行Clean Build。也许这有帮助。
  3. 直接使用gdb,而不是通过NetBeans GUI。根据我的经验,gdb始终有效,但NetBeans对于调试不可靠,并且由于我不知道的原因,有时会出现问题。因此我大多使用旧的命令行调试器。

答案 1 :(得分:1)

-g选项是第一件事 - 确保编译行上的#。如果它仍然无法正常工作,那么直接运行gdb以查看它是否有效。如果出现问题,gdb会发出错误或警告,这可能会在通过netbeans运行时被遮挡。例如:

gdb <progname>

并设置断点,例如

(gdb) break main

然后运行它:

(gdb) run

如果它在第一个语句中打破了,但在netbeans中没有打破,则其他错误。但如果它运行到最后并发出警告,例如这个。缺少包裹:

Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.149.el6.x86_64

然后就做它告诉你的事情。一旦gdb满意,netbeans也应该是。