Code
GNUVario-E исходные коды
Отладка
В этой главе будут описаны способы отладки, используемые в коде Gnuvario-E.
Со временем система отображения отладочной информации развивалась.
Сегодня в коде Gnuvario-E реализовано 3 способа.
Способ 1
Используя файл DebugConfig.h и println
#define ENABLE_DEBUG
#define PROG_DEBUG // отладка основной программы
ENABLE_DEBUG позволяет активировать отладку
Затем для каждого типа отслеживаемой информации мы определяем или комментируем. Сообщения отображаются в мониторе последовательного порта путем добавления строк в код.
#ifdef SCREEN_DEBUG SerialPort.print (“Created task: Executing on core”); SerialPort.println (xPortGetCoreID ()); #endif // SCREEN_DEBUG
Способ 2
В способе 2 также используется файл DebugConfig.h, но на выходе добавляется имя исходного файла, имена переменных и строка.
В начале каждого исходного файла вы должны объявить об использовании функций отладки.
#include
#ifdef NMEAPARSER_DEBUG #define ARDUINOTRACE_ENABLE 1 #else #define ARDUINOTRACE_ENABLE 0 #endif
#define ARDUINOTRACE_SERIAL SerialPort
#include
Затем можно будет использовать функции:
TRACE(); Отображает номер строки, имя файла на мониторе последовательного порта.
DUMP (someValue); На мониторе последовательного порта отобразит переменную, а так же файл и строку.
SDUMP (someText); Отображает текс, номер строки, имя файла на мониторе последовательного порта.
Способ 3
Способ 3 записывает отладочную информацию в файл variolog.log. Файл debug.cfg, описанный в разделе «конфигурация», используется для выбора сообщений для отображения.
Вам нужно будет использовать библиотеку variolog.h.
Возможные функции:
TRACELOG (type, module) Сохраняет файл и строку в файле журнала.
DUMPLOG (type, module, variable) Сохраняет переменную, файл и строку в файле журнала.
MESSLOG (type, module, Text) Записывает сообщение с файлом и строкой в файле журнала.
INFOLOG (Text) Сохраненяет текст в файле журнала.