从零实现增量源生成器 · 第 15 / 17 篇

调试增量源生成器时,先看哪里

排错不要一上来盯着字符串渲染,先按入口、发现、模型、诊断、输出文件这条顺序查。

调试生成器最容易把自己绕进去的方式,就是一上来盯着最后生成的文本看。这样做经常会把真正的问题掩盖掉。

更稳的排查顺序是:

  1. 入口特性有没有生成
  2. 目标类型有没有被发现
  3. 建模阶段有没有提前返回
  4. 诊断有没有被正确报出
  5. 最终生成文件长什么样

为什么不要直接盯着渲染层

因为很多渲染异常,根本不是渲染本身的问题,而是前面给它的模型就已经错了。

例如:

  • 没发现目标类型
  • hint name 不对
  • 含有诊断但仍误以为会生成
  • 嵌套结构信息提前丢失

如果你直接从最后一层查,经常只会看到“结果不对”,却看不到“为什么不对”。

真正有价值的调试入口

好的调试入口,不是更多日志,而是更清楚的阶段边界。只要入口、发现、建模、渲染和诊断边界分明,排错顺序就不会乱。

对生成器来说,清晰的阶段划分本身就是调试能力。

教程导航

继续阅读

当前文章已经挂到教程顺序中,建议按相邻章节继续。

上一篇 编译级测试,为什么比字符串对比更重要 生成器测试不能只做文本断言,更关键的是验证生成结果是否能编译、诊断是否准确、边界是否被稳稳拦住。 下一篇 做完第一个生成器之后,下一步该扩到哪里 第一个生成器跑通后,真正值得继续扩的方向不是再堆一个特性,而是扩输入边界、配置边界、模板边界和交付边界。
查看系列目录 查看全部文章

标签

分类