Как стать автором
Обновить

Комментарии 11

Вроде все хорошо, но есть проблема, в последних версиях GNU/Linux, gdb собирают с поддержкой python версии 3.*, а по умолчанию установлен python версии 2.*. Чтобы устранить эту проблему, т.е. сделать скрипты с поддержкой обеих версий python есть патч, ...

Может я что-то не понимаю, но зачем что-то патчить, если можно просто доставить python3?
Можно, только, в случае с патчингом можно пользоваться любой, установленной по-умолчанию, версией python в системе. Мало ли у кого какие ограничения.
НЛО прилетело и опубликовало эту надпись здесь
Так как все таки отлаживать С++ программы в gdb? :) Из текста статьи нифига ведь непонятно…
Ну, должна же сохранятся какая-то интрига! :)
Кстати способ взлетит и в windows под mingw.
Файл .gdbinit кладётся в домашний каталог пользователя (для свежих версий винды C:\Users\)
В строке sys.path.insert(0, '/usr/share/gcc-4.8/python') пишется абсолютный путь для текущей версии mingw, например sys.path.insert(0, 'C:\MinGW\share\gcc-4.8.1\python').
В самом MinGW вместо mingw32-gdb ставится mingw32-gdb-python. Требует питона 2.7.
Соответственно отладчик становится не gdb а gdb-python27.

Если используется CodeBlock — необходимо дополнительное шаманство wiki.codeblocks.org/index.php?title=Pretty_Printers

Наличие собственных скриптов характерно не только для QT. Вон в CodeBlock тоже свои скрипты. Благополучно отвалились, после обновления MinGW до версии компилятора свежее, чем в сборке CodeBlock.

Спасибо за статью. Если бы не она — так и не полез бы разбираться, почему в CodeBlock строки криво отображаются :)
А расскажите, если вы пользуетесь gdb под MinGW: правда же, что никаким образом нельзя заставить работать конструкцию «run <input.txt >output.txt»? А то каждый раз, когда мне приходилось что-то собирать и дебажить из-под MinGW-шного окружения, эта проблема доводила до белого каления =/
Не знаю. У меня MinGW стоит для компиляторов. Разработку и отладку я веду в средах разработки.
А как эти pretty printers можно писать для своих типов данных и можно ли их потом цеплять автоматом из qt creator например?
Tools → Options → Debugger → GDB (tab) → General (section) → Load .gdbinit file on startup + Load system GDB pretty printers.
Так держать!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории