我正在尝试使用gdb从核心文件中转储std :: vector。
想从特定索引处的向量打印数据,但无法在没有进程运行的情况下失败。
尝试了以下命令以转储向量并找出其类型:
(gdb) print vList
$2 = {<std::_Vector_val<ObjectA*, std::allocator<ObjectA*> >> = {<std::_Container_base> = {<No data fields>},
_Alval = {<std::_Allocator_base<ObjectA*>> = {<No data fields>}, <No data fields>}}, _Myfirst = 0x499fb300, _Mylast = 0x499fb454, _Myend = 0x499fb478}
(gdb) print vList.size()
You can't do that without a process to debug.
(gdb) print *(vList._Myfirst)@mConnectionList.size()
You can't do that without a process to debug.
因为核心文件将具有完整的矢量数据,并且预期的输出将是将所有内容转储到矢量中。
相反,它说的是“没有调试过程就无法做到”