我正在使用 ubuntu 12.04。到目前为止,我已经使用 anjuta 和 codelite 作为 C++ 学校项目的 IDE。但是,我遇到了一个问题:启动调试器后,一切正常,直到我尝试在手表部分添加一个数组。它不显示任何内容,当我尝试继续调试时它会冻结,我必须停止调试会话。我不得不提一下,观察变量效果很好。
谢谢,
LE:实际上,调试功能只有在大数组的情况下才会冻结……那可能是codelite的一个错误。有什么意见吗?
我不得不提一下,观察变量效果很好。
当您在变量上设置观察点时,GDB 可能会说Hardware watchpoint N
(但您的 IDE 可能隐藏了该消息)。
当您在 x86 处理器上设置大于 8 字节的观察点时,GDB 无法设置硬件观察点(因为 x86 硬件不支持此类观察点)。GDB 设置了一个软件观察点。软件观察点实现如下:
软件观察点真的很慢。如果您使用 观察您的系统top
,您可能会发现 GDB 正在消耗 100% 的 CPU。
如果您真的需要观看整个数组,这个答案显示了如何使用 valgrind 来完成。