今天在weibo上发现了GDB调试STL容器类的利器,这里记录下:

脚本地址这里

使用方法:将链接里的文件内容保存到home目录的.gdbinit中,然后启动gdb时就可直接使用相关命令.

提供以下的方法:

#std::vector -- via pvector command
#std::list -- via plist or plist_member command
#std::map -- via pmap or pmap_member command
#std::multimap -- via pmap or pmap_member command
#std::set -- via pset command
#std::multiset -- via pset command
#std::deque -- via pdequeue command
#std::stack -- via pstack command
#std::queue -- via pqueue command
#std::priority_queue -- via ppqueue command
#std::bitset -- via pbitset command
#std::string -- via pstring command
#std::widestring -- via pwstring command

测试用例: