当使用CDT时,我想让std :: string显示在'variable'调试窗口中,并显示它包含的字符串.例如,如果它当前持有"历史"一词,我希望在调试器窗口中看到标记为"变量"的历史记录.
我认为有一种通用的方法可以让它深入到物体中,但我不能把手指放在它上面.有没有人知道怎么做?
当从复杂对象输出单个字段时,这对我来说也很有用.
比尔,谢谢
用eclipse/gdb显示stl容器对我来说也是一个很大的痛苦.
但是现在我刚刚发现启用了python的最新版本的gdb可以帮助你.
它遵循我所做的(使用Ubuntu Linux 8.10):
安装gdb版本> = 6.8.50(例如来自debian实验)
使用以下内容在项目根目录中创建名为.gdbinit的文件:
python import gdb.libstdcxx.v6.printers
现在stl容器将被打印出来.
如果你想检查你是否已经启用了python(或者你的新安装是否有效):
从控制台启动gdb
在gdb提示符下执行以下操作
(gdb)python print'支持Python的GDB正在运行!'
如果上面的命令产生了我们期望的东西,那么它正在发挥作用.
有关详细信息,请查看此博客.