C++ GDB C++;-查看堆芯转储时检查STL容器?

C++ GDB C++;-查看堆芯转储时检查STL容器?,c++,stl,gdb,coredump,C++,Stl,Gdb,Coredump,我正在gdb中调试我的程序的核心转储(后期调试)。我打开它时说: gdb[程序名称][核心名称] 但是,当我尝试检查STL向量时,例如。 打印向量->大小() 或 打印向量->在(0)处 我得到了错误 “如果没有要调试的进程,则无法执行此操作” 我只是想检查一下这些容器的内容物和大小。有没有办法将虚拟流程附加到堆芯转储gdb检查,以便我可以执行此操作?打印向量: (gdb) print *vec 然后熟悉实现向量的内部结构并打印原始缓冲区。通常被称为“缓冲区”或类似的东西。根据您的操作方式,缓

我正在gdb中调试我的程序的核心转储(后期调试)。我打开它时说: gdb[程序名称][核心名称]

但是,当我尝试检查STL向量时,例如。 打印向量->大小() 或 打印向量->在(0)处

我得到了错误

“如果没有要调试的进程,则无法执行此操作”

我只是想检查一下这些容器的内容物和大小。有没有办法将虚拟流程附加到堆芯转储gdb检查,以便我可以执行此操作?

打印向量:

(gdb) print *vec

然后熟悉实现向量的内部结构并打印原始缓冲区。通常被称为“缓冲区”或类似的东西。根据您的操作方式,缓冲区可能包含一个内部对象。

您使用的是哪个版本的gdb?根据版本的不同,您可以搜索STL pretty打印机,这些打印机将处理内存并生成人类可读的容器表示。您正在尝试调用在事后调试时无法执行的函数。只需检查向量内存即可。