4a4ad6bc5f
现状口径:/keil-build 与 /serial-boot-test 是 DSH 会话的技能调用名, 不是 shell 命令;「名 + 命令行参数」的命令形态改为可执行体 run_boot_test.py 的真实调用。 - AGENTS.md:别名说明重写为「技能调用名不是 shell 命令」,两条目改 「编译(/keil-build)」「串口回归(/serial-boot-test)」 - keil-build / serial-boot-test 两 skill 调用名与示例同步;task-worktree 方案文档去掉 @build/@test 惯例从句;@task 保留(不在点名范围) - 123 文件现状陈述全改;台架捕获、变更记录/时间线、rename 映射输入 等 41 行历史证据保留旧名 - gen_memory_svg.py 6 处措辞随改,3 张 SVG 产物同批重跑 - 顺手补并行方案同行漏网计数 51→52 钩子 验证:提交期快钩子对 123 文件实跑全 Passed;check_doc_links --all rc=0(3038 处、无法判定 0);check_mermaid --all rc=0;YAML 解析 52 钩子不变;skill-size rc=0;py_compile 全过;字节卫生零漂移。
30 lines
1.5 KiB
C
30 lines
1.5 KiB
C
/*
|
||
* 模块名称:主机侧单测桩 - dbg_log.h(lftpd 协议层模块专用)
|
||
* 模块功能:DBG_* 换成计数,让"对端在 220 握手前就走了""传输未完成"这些只体现在
|
||
* 日志里的分支可断言。
|
||
*
|
||
* ⚠ 仅供主机侧单测使用,不参与 MCU 构建。
|
||
* 为什么桩这层而不是 private/lftpd_log.h:真实那份是**宏**(lftpd_log_info 等直接
|
||
* 展开成 DBG_*),而且 MSVC 的引号 include 会先从 lftpd.c 自己的目录找
|
||
* private/lftpd_log.h——桩目录赢不过它。所以正确做法是让真实 lftpd_log.h 照常参与
|
||
* 编译(它的分级语义也就一起被验证了),只把最底下的 DBG_* 换成计数。
|
||
* 顺带说明分级(真实头注释里写得很清楚):lftpd_log_peer 是 **info** 级不是 error,
|
||
* 因为"客户端关了个窗口"不该把 /serial-boot-test 的 Forbidden 标记 [ERR] 触发成 FAIL,也不该
|
||
* 让任何人连 21 端口就走就能无限制造固件级 ERROR;而 DOWNLOAD/UPLOAD FAILED 仍记
|
||
* error(那是数据完整性事件)。
|
||
*
|
||
* 创建日期:2026-10-23
|
||
*/
|
||
#ifndef DBG_LOG_H
|
||
#define DBG_LOG_H
|
||
|
||
extern int g_lg_info_count;
|
||
extern int g_lg_error_count;
|
||
extern int g_lg_debug_count;
|
||
|
||
#define DBG_INFO(fmt, ...) do { (void)(fmt); g_lg_info_count++; } while (0)
|
||
#define DBG_DEBUG(fmt, ...) do { (void)(fmt); g_lg_debug_count++; } while (0)
|
||
#define DBG_ERROR(fmt, ...) do { (void)(fmt); g_lg_error_count++; } while (0)
|
||
|
||
#endif /* DBG_LOG_H */
|