Отладка STD-контейнеров с GDB не работает - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь отладить код на С ++ и, в частности, я хотел бы проверить состояние реализованного мною объекта, который состоит из вектора универсального класса, каждый элемент которого содержит список универсальной структуры.

Я использую Eclipse, и когда я пытаюсь отладить и получить доступ к одному из этих списков, чаще всего он говорит мне:

Не удалось выполнить команду MI: -data -valu-expression ((store) .sectors) Сообщение об ошибке от серверной части отладчика: невозможно получить доступ к памяти по адресу 0x1

Неловко то, что иногда я могу получить доступ и увидеть содержимое этих объектов.

Используемая мной версия компилятора g ++ - 7.3.0, а версия gdb - "GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git".Цель приложения - x86_64, а gdb настроен как x86_64.Я попытался выполнить эту процедуру для печати с поддержкой STL: https://sourceware.org/gdb/wiki/STLSupport Я также установил файл пути инициализации конфигурации отладки на ~ / .gdbinit.

Если я пытаюсь получить доступ к одному из этих объектов с помощью gdbиз терминала я получаю эту ошибку:

$ 1 = std :: __ cxx11 :: listPython Исключение Не удается> найти тип std :: __ cxx11 :: list,> std :: allocator>> :: _ Node:

Спасибо за любые предложения.

...