在gdb中调试c++代码,代码中用到了stl的容器,要在gdb中显示容器对象的内容的命令比较冗长,如下所示:
print *(farmers._M_impl._M_start)@5
有一个名为farmers的vector, 显示容器对象farmers前5个元素。
每次都写这个命令很烦,就自定义一个gdb命令,在一个文件(命名为gdb.conf)中定义一个自己的命令:
define pstl
print *($arg0._M_impl._M_start)@$arg1
end
然后在gdb中使用命令source读入这个文件:
source /path/to/file/gdb.conf
读入文件后就可以在gdb中使用自己定义的命令了,使用如下:
pstl farmers 3
输出容器对象farmers的前3个元素