gdb 打印抽象数据类型,例如 map vector 等类型
GDB的自定义命令非常有用,通过自定义命令,直接操作容器中的数据,可以方便的查看STL容器中的数据。
这个链接dbinit_stl_views是Dan C Marinescu写的查看STL容器的自定义命令(如果不适合你的STL版本的话,可以自行修改)。把它添加到你的.gdbinit中,就可以方便的查看STL容器了。它提供了查看vector,list,map,multimap,set,multiset,deque,stack,queue,priority_queue,bitset,string,widestring等对象的方法,非常好用!
1. 下载 http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt
2. #cat dbinit_stl_views-1.03.txt >> ~/.gdbinit
3. 若正处于gdb中,运行命令:
(gdb) source ~/.gdbinit
vecotr myvec;
要打印vector
在gdb中,使用
(gdb)pvector myvec
参考:
http://blog.youkuaiyun.com/dearwind153/article/details/51781235