Sprinter: добавить отладку C-исходников и интеграцию VS Code
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
/* sdbg.h — авторские точки журналирования source debugger.
|
||||
*
|
||||
* Текст и подстановки обрабатываются на хосте: код Sprinter не вызывает
|
||||
* ESTEX/BIOS и не хранит строку в EXE. В обычной сборке макросы пустые.
|
||||
* В --src-debug выбранный TU получает нулевой по размеру asm-якорь.
|
||||
* tag — уникальный C-идентификатор внутри единицы трансляции. */
|
||||
#ifndef SPRINTER_SDBG_H
|
||||
#define SPRINTER_SDBG_H
|
||||
|
||||
#if defined(SPRINTER_SDBG_METADATA)
|
||||
/* Только проход препроцессора сборщика: сохраняем описание для пакета. */
|
||||
#define SDBG_LOG(tag, message) SDBG_METADATA_LOG(tag, message)
|
||||
#define SDBG_LOGIF(tag, condition, message) SDBG_METADATA_LOGIF(tag, condition, message)
|
||||
#elif defined(SPRINTER_SDBG_ANCHORS)
|
||||
/* Символ привязан к текущему счётчику адреса, но не добавляет инструкцию. */
|
||||
#define SDBG_LOG(tag, message) __asm \
|
||||
.globl _spr_sdbg_log_##tag \
|
||||
_spr_sdbg_log_##tag = . \
|
||||
__endasm
|
||||
#define SDBG_LOGIF(tag, condition, message) SDBG_LOG(tag, message)
|
||||
#else
|
||||
#define SDBG_LOG(tag, message) ((void)0)
|
||||
#define SDBG_LOGIF(tag, condition, message) ((void)0)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user