C++ 查找指向gdb中地址的所有变量
就上下文而言,我的特殊情况如下:我得到了一个segfault,正在分析内核;堆栈跟踪显示了名为exit的程序,但在某个向量的d'tor内,该程序在完成之前崩溃;我可以得到向量的地址,但我不熟悉代码,也不知道它对应的变量是什么;我想找出哪些变量指向这个向量来检查相关代码。有什么建议吗?您可以在崩溃之前创建一个断点,并打印std::vector中的所有变量C++ 查找指向gdb中地址的所有变量,c++,debugging,crash,gdb,coredump,C++,Debugging,Crash,Gdb,Coredump,就上下文而言,我的特殊情况如下:我得到了一个segfault,正在分析内核;堆栈跟踪显示了名为exit的程序,但在某个向量的d'tor内,该程序在完成之前崩溃;我可以得到向量的地址,但我不熟悉代码,也不知道它对应的变量是什么;我想找出哪些变量指向这个向量来检查相关代码。有什么建议吗?您可以在崩溃之前创建一个断点,并打印std::vector中的所有变量 print *(your_vector._M_impl._M_start)@your_vector.size() 例如: 有std::vec(
print *(your_vector._M_impl._M_start)@your_vector.size()
例如:
有std::vec(3)代码>您将编写print*(vec.\u M\u impl.\u M\u start)@3
我可以得到向量的地址。。。我想知道是什么
变量指向这个向量
拥有某个变量的地址,您可以使用info-symbol
命令打印变量名称,如下所示:
(gdb) info symbol 0x4005BDC
请参阅gdb文档中的内容。如果操作系统适合:请尝试Valgrind您所说的“变量指向此向量”是什么意思。你是指持有向量对象地址的指针变量吗?@ AlxyTePyyaKoV:这是当前值为向量的C++变量