1. update your gdb
gdb 7.0版本之后,如果在gdb中调用:
(gdb) print myVector
将会得到如下结果:
$1 = std::vector of length 3, capacity 4 = {10, 20, 30}
2. GDB STL Utilities
/~afn/gdb_stl_utils/
3. 打印数组
gdb 7之前的版本不能直接打印vector,但是vector的内部实现是用数组array,所以找到array地址就可以打印出vector内容。
1) 打印整个vector
(gdb) print *(myVector._M_impl._M_start)@myVector.size()
2) 打印第N个成员
print *(myVector._M_impl._M_start)@N
4. 自己实现打印函数,用gdb call调用该函数
1) dump函数实现
2) gdb调用:
(gdb)call dump(youVector)