默认情况下的gdb调试在遇到stl容器时,打印容器里面的内容很不友好。看起来很不方便,以下记录几种方式用来查看容器。
方法一:
打开 这个链接,复制里面的内容,根目录下创建一个文件.gdbinit
,注意是有一个英文的.
:
之后查看容器的时候直接用p coll
即可:
方法二:
自己实现打印函数,用gdb call调用该函数
void dump(vector<int>& myVector)
{
vector<int>::iterator it = myVector.begin();
count << "[";
for (; it != myVector.end(); ++it)
count << *(it) << ", ";
count << "]";
}
(gdb)call dump(youVector)
调用查看。
总的来说第一种方法比较好用一些。