Comments 11
Вроде все хорошо, но есть проблема, в последних версиях GNU/Linux, gdb собирают с поддержкой python версии 3.*, а по умолчанию установлен python версии 2.*. Чтобы устранить эту проблему, т.е. сделать скрипты с поддержкой обеих версий python есть патч, ...
Может я что-то не понимаю, но зачем что-то патчить, если можно просто доставить python3?
Так как все таки отлаживать С++ программы в 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 строки криво отображаются :)
Файл .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-шного окружения, эта проблема доводила до белого каления =/
А как эти pretty printers можно писать для своих типов данных и можно ли их потом цеплять автоматом из qt creator например?
Так держать!
Sign up to leave a comment.
Отладка C++ программ в ОС GNU/Linux