对于上下文,我的具体情况如下:我遇到了一个段错误,正在分析核心;堆栈跟踪显示名为exit的程序,但在完成它之前崩溃,在某个向量的转换器中;我可以得到向量的地址,但我不熟悉代码,我不知道它对应的变量;我想找出哪些变量指向此向量来检查相关代码。有什么建议吗?
答案 0 :(得分:3)
我可以得到载体的地址......我想找出什么 变量指向此向量
拥有某个变量的地址,您可以使用info symbol
命令打印变量名称,如下所示:
(gdb) info symbol 0x4005BDC
请参阅gdb文档中的Examining the Symbol Table。
答案 1 :(得分:0)
您可以在崩溃之前创建断点并打印std :: vector中的所有变量。
print *(your_vector._M_impl._M_start)@your_vector.size()
例如:
std::vector<int> vec(3);
你会写print *(vec._M_impl._M_start)@3