Включение дополнительной информации об отладке в исходный файл для отладки с использованием gdb в Code::Blocks
При отладке исходного кода C++ в Code::Blocks точки, переданные параметру функции или члены структур данных, просто отображаются в качестве их адреса.
После некоторых исследований я обнаружил, что могу ввести пользовательские часы как
Мне было интересно, есть ли какой-нибудь способ разметить исходный код специальными комментариями, которые можно проанализировать во время отладки, чтобы автоматизировать это и сделать сложный объект более удобным для просмотра во время отладки.
т.е.
struct {
size_t n;
int *p; /* I want gdb to interpreted this symbols as p@n by default */
}
Я также хотел бы иметь возможность сделать аналогичные спецификации для параметров функции.
Во-первых, это даже возможно, я не могу найти в Интернете ничего о разметке источника для помощи gdb, и подозреваю, что он даже не смотрит на источник, так как отладочная информация хранится либо в исполняемом файле, либо в базе данных отладки.
Если есть какой-то способ сделать это, как бы я это сделал?
Примечание: если есть конкретное решение Code::Blocks, я был бы счастлив с этим.
1 ответ
Кажется, что проблема, которую вы имеете, связана не с качеством отладочной информации, а просто с тем, как отладчик отображает значения переменных определенного типа. Это обычно настраивается или сценарий.
Code:: Blocks использует белка сценарий для сценариев отладчика. Расширяя этот скрипт, вы можете сделать отладчик для команды GDB особым образом, а затем анализировать и отображать результат, как вам нравится. Этот gdb_types.script в папке scripts запускается Code::Blocks.
Если вы хотите создать сценарий для самой GDB, то это можно сделать в "Настройках -> Компилятор и отладчик -> Отладчик -> Начальные команды" Code::Blocks, при условии, что сценарий будет выполняться GDB. Затем вы можете вызвать функции, определенные в этом скрипте, из gdb_types.script.