gdb打印c++ std::vector元素内容

来源:清泛原创     2021-05-19 16:21:33    人气:     我有话说( 0 人参与)

使用GDB调试程序或coredump时,直接 p vec 打印的是vector内部成员的信息,不能直观输出元素的内容。通过打印内部元素地址内容的方式,查看vector元素内容,不限gcc版本:(gdb)...

使用GDB调试程序或coredump时,直接 p vec 打印的是vector内部成员的信息,不能直观输出元素的内容。
通过打印内部元素地址内容的方式,查看vector元素内容,不限gcc版本:
(gdb) p *(vec._M_impl._M_start)@3
$1 = {5, 2, 0}

(gdb) p *(vec._M_impl._M_start+0)
$2 = 5
(gdb) p *(vec._M_impl._M_start+1)
$3 = 2
vector的大小貌似只能尝试指定,不能动态计算。

gdb vector

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: