【问题标题】:Netbeans: debugger doesn't stop at breakpointNetbeans:调试器不会在断点处停止
【发布时间】:2019-02-05 18:03:47
【问题描述】:

我正在尝试通过设置几个断点来调试 C++ 项目。构建成功完成,运行按预期进行,但调试器似乎只是忽略了断点(我使用的是调试按钮,而不是运行)。源代码、编译器和调试器位于远程主机上。

谁能告诉我如何解决这个问题?

Netbeans 版本:8.0.2,远程主机操作系统:Centos 6.7,远程调试器:GDB 7.2-83.el6

我在调试开始时也收到以下警告(但不确定是否相关):

&"warning: GDB: 无法设置控制终端: Operation not 允许\n"

提前致谢。

【问题讨论】:

  • 1) 验证该语句是否有代码。编译器可以优化语句(远离)或合并源代码语句行。 2)查看汇编语言验证代码不在其他地方。示例:在具有多个returns 的函数中,编译器可能只使用其中一个,而调试器不会在其他处停止。
  • 检查是否可以执行 Window -> Debugging -> Debugger Console 中显示的相同命令?
  • 嗨@Thomas,感谢您的回答。我如何验证它?而且我不太明白您所说的“查看汇编语言”是什么意思,您能更详细地解释一下吗?该函数是一个空函数,所以它只修改一个对象而不返回任何东西。我实际上还创建了一个函数类型的断点(据我所知,一旦输入函数,它应该停止调试过程),但它没有帮助。
  • 嗨@WillShackleford,你在说什么命令?
  • 对不起,我错误地认为它会在执行命令时打印命令,但显然只打印输出。您可以尝试 step,cont,next,看看它们是否比 netbeans 按钮更好。 info breakpoints 应该显示断点的行和地址。 dissassmble
    显示地址周围的反汇编。

标签: c++ debugging netbeans


【解决方案1】:

我遇到了同样的问题。似乎调试器因重载函数而变得疯狂,例如无效打印(int a),无效打印(双a)。我只是更改了函数的名称,它运行顺利。

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2012-09-15
    • 2023-03-12
    • 1970-01-01
    • 2015-06-30
    • 2010-11-25
    相关资源
    最近更新 更多