对于上下文,我的特殊情况如下:我遇到了段错误并正在分析核心;堆栈跟踪显示了名为 exit 的程序,但在完成之前崩溃了,在某个向量的 d'tor 中;可以得到向量的地址,但是对代码不熟悉,不知道对应的是什么变量;我想找出哪些变量指向这个向量来检查相关代码。有什么建议么?
问问题
2586 次
2 回答
3
我可以得到向量的地址...我想找出指向这个向量的变量
有了某个变量的地址,您可以使用info symbol
命令打印变量的名称,如下所示:
(gdb) info symbol 0x4005BDC
请参阅gdb 文档中的检查符号表。
于 2013-10-30T13:46:03.880 回答
1
您可以在崩溃前设置断点并打印 std::vector 中的所有变量。
print *(your_vector._M_impl._M_start)@your_vector.size()
例如:
和std::vector<int> vec(3);
你一起写print *(vec._M_impl._M_start)@3
于 2013-10-30T12:26:27.750 回答