windows 下codeblocks查看容器值

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+都可以。

相关文件已经上传百度云

原文地址:https://www.cnblogs.com/vipwtl/p/5408253.html