Содержание

Основы отладки с GDB

Сборка программы для поддержки отладки (параметр -g)

c++ -Wall -g prog.c++ -o prog

Запуск интерактивной среды отладчика

gdb prog

Основные команды отладчика GDB

Пример изучения тонкостей Си с помощью gdb (см. ссылку)

Настройка gdb-принтера для Qt

Переменные в Qt, будучи сложными объектами, при выводе на экран не дают человеко читаемой информации, требуется специальная настройка вывода, которая реализована в проекте pretty-printers.

Настройка:

Источники: Setup GDB with Qt pretty printers , qt5printers .

Recording && Replaying

Одним из абсолютно необходимых компаньонов gdb является RR , это отладчик 'post mortem', но, в отличие от основного файла, вы можете воспроизвести действие в обратном порядке, если это необходимо. Вы можете двигаться в обратном направлении, шагать в обратном направлении, создавать точки наблюдения, снова бежать вперед и т. д.

Отладка в VIM'е

.vimrc

" Настройка отладчика (загрузка плагина, расположение окон)
autocmd FileType c,cc,cpp,h,hpp,s packadd termdebug
autocmd FileType c,cc,cpp,h,hpp,s cabbrev gdb Termdebug
let g:termdebug_popup = 0
let g:termdebug_wide = 1

Запуск отладчика в VIM

:gdb

или без настройки алисаов команды

:Termdebug

Установка/удаление точки остановки в vim'е

:Break
:Clear

Пробелы в пути проекта
Отладка через termdebug не будет корректно работать, если полный путь к фалам проекта содержит пробелы и/или кириллицу. В первом случае, будет явная ошибка, во втором не будут отображаться точки останова в тексте программы

-break-insert: Garbage following <location>

Дополнительная информация по ссылке.