我有一个std :: map< std :: string,std :: string>续;
我想在gdb中看到cont [“some_key”]。当我在尝试时
p cont [“some_ket”]
我收到此消息:您尝试传递给operator []的其中一个参数无法转换为函数所需的内容。
我正在使用GNU gdb Red Hat Linux(6.3.0.0-1.162.el4rh)。感谢
答案 0 :(得分:6)
您可以编写自己的转储功能并调用它们:
(gdb) call dump(m)
看到这个帖子: http://www.mail-archive.com/help-gplusplus@gnu.org/msg02109.html
我对GDB助手宏感到好奇。
答案 1 :(得分:6)
最新的gdb有python支持,因此可以轻松编写一个函数来打印出任何stl结构的内容。但是,您必须学习API并编写脚本。幸运的是,gcc 4.5将附带所需的python脚本,以使gdb能够智能地处理stl数据结构。
编辑:您不必等待GCC 4.5(顺便说一下已经发布),您可以grab the code from SVN。
答案 2 :(得分:1)
Gdb不理解C ++运算符重载。