Печатайте векторные данные по определенному индексу, используя дамп памяти - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь выгрузить std :: vector из основного файла, используя gdb.

Хотите напечатать данные из вектора по определенному индексу, но не удалось сказать, что без запуска процесса это невозможно.

Попробованные ниже команды для выгрузки вектора и определения его типа:

(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.

Поскольку основной файл будет содержать полные векторные данные, а ожидаемый результат будет выводить все в векторе.

Вместо этого он говорит: «Вы не можете сделать это без процесса отладки»

...