http://www.doc88.com/p-787759319028.html
你要使用pretty_printer这个package。具体可参见:wiki的codeblock的org,搜pretty_printers。
大致如下:
1 检查你的MinGW是否使用了支持python的gdb。
a)下载新的MinGW,MinGWsharegdb目录下应该有python。 如果没有,需要更新MinGW;
b 系统里安装python27,确保添加了相关路径。
2 在mingwbin目录下创建一个pp.gdb文件,内容:
1
2
3
4
5
6
|
python import sys sys.path.insert(0, 'C:/MinGW/share/gcc-4.8.1/python/libstdcxx/v6') from printers import register_libstdcxx_printers register_libstdcxx_printers (None) end |
注意:单引号‘’里面是你自己的路径;一定要用/而不是.
3 在codeblock里面作两件事:
a)Codeblocks->Settings->Debugger->Default->Debugger initialization commands 添加:
source c:MinGWbinpp.gdb
b)Codeblocks->Settings->Debugger->Default->Enable Watch Scripts 不选这项。
gdb-stl-views(比较好用)
这是由Dan Marinescu编写的一些宏,用来查看gdb容器内容,支持list, vector, map, multimap, set, multiset, dequeue, stack, queue, priorityqueue , bitset, string, 以及widestring,从http://sourceware.org/gdb/wiki/STLSupport?action=AttachFile&do=view&target=stl-views-1.0.3.gdb 可以下载这个文件,下载后把它放到用户目录下改名为.gdbinit。之后再进入 gdb就可以用以下这些命令查看容器内容了:
pvector, plist, pmap, pset, pdequeue, pstack, pqueue, ppqueue, pbitset, pstring, pwstring
用help可以查看命令的帮助,比如help pvector。这个方法可以支持广泛的gdb 版本,据说是GDB 4.3+都可以。
相关文件已经上传百度云