Sprinter: добавить отладку C-исходников и интеграцию VS Code

This commit is contained in:
2026-09-15 17:58:41 +03:00
parent 50c6e56b7b
commit e4695b8281
62 changed files with 7147 additions and 27 deletions
+26
View File
@@ -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