调试 C++使用模板和 STL 编写 gdb 代码
这里的 gdb 用户如何看待它在使用模板和 STL 调试代码方面的功能?
您是否使用任何技巧来使调试变得更简单?也许一些 Python 脚本?或者您对 gdb 目前的状态满意吗(版本 6.x,还没有尝试过 7.x)?
谢谢。
What do gdb users here think about its capabilities in regards to debugging code with templates and STL?
Do you use any tricks to make the debugging any simpler? Perhaps some Python scripts? Or are you satisfied the way it is at present in gdb (ver 6.x, haven't tried 7.x yet)?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这可能会有所帮助:
GDB STL 支持工具
This may be of help:
GDB STL Support Tools
我假设您的意思是更好地可视化 STL 代码(而不是 调试模式 提供安全迭代器和额外的运行时检查)。我不确定您是否看过这些帖子:
此外,如果可能的话,尝试使用 KDevelop/DDD ——它们确实有帮助。
I am assuming that you mean visualizing STL code better (and not the debug mode which give safe iterators and additional runtime checks). I am not sure if you have looked at these posts:
Also, try using KDevelop/DDD if possible -- they do help.
我最喜欢使用 GDB 的方式是 emacs 中的 GDB 模式。您可以获得完整的可视化/源代码级调试、线程窗口、堆栈窗口(等)...尝试一下,您不会失望的。
也就是说,GDB 可以很好地处理 STL 容器的调试,无需特殊的附加组件...只需确保您使用 -g 进行构建,并且不使用 -ON(任何类型)...
My favorite way to use GDB is GDB mode in emacs. You get full visual/source level debugging, thread window, stack window (etc)... Try it out, you won't be disappointed.
That said, GDB handles debugging of STL containers just fine with no special add ons... Just make sure you're building WITH -g, and without -ON (of any kind)...
我不确定您是否可以添加代码,或者您只是在调试代码,抱歉。我写了一个简单的实用函数一段时间了,我希望你觉得它有用。您可以轻松打印标准容器的内容。没有特定于平台的代码,使用示例(实际上是测试驱动程序):
我还没有为 Boost 容器编写代码。希望有一天我会这样做:)
你所要做的就是包含这个文件[“streamer.hpp”]:
I am not sure if you are allowed to add code, or you are just debugging the code, Sorry. I wrote a simple utility functions since a while, I hope you find it useful. You could print the contents of standard containers easily. There is no platform specific code, an example of usage(the test-driver actually):
I haven't wrote the code for Boost containers yet. Hopefully, I'll do it sometime :)
All what you have to do, is to include this file["streamer.hpp"]:
ddd 也很棒——我的最爱!
ddd is great too -- my favorite!