用途:把嘈杂的失败证据转化为带明确置信度的分级诊断,始终区分症状、近因与真正根因,适用于 Kotlin + Spring 应用的启动失败、运行期异常、SQL/迁移、超时、并发与版本不匹配等问题排查。
主要能力:先收集证据——读完整堆栈而非只看顶层帧,读首次失败前后的日志行,记录时间戳、correlation id、request id、线程名与激活 profile,并查看近期相关代码或配置变更。随后按流程分诊:找到最早的失败信号,沿 Caused by: 链走到不再更具体为止,将事件归类为依赖注入与上下文启动、配置绑定、序列化或校验、SQL 或迁移、HTTP 或超时、安全、并发或锁、类路径或版本不匹配等,并区分“什么失败了”与“为什么失败”。证据不足时对假设排序,分别给出快速缓解与正式修复。
诊断规则:把 BeanCreationException、InvocationTargetException 等包装异常视为传输层而非诊断结论;框架包装之后的第一处用户代码帧是高信号证据;依据日志时序而非堆栈深度;日志被截断时需说明并降低置信度。进阶信号包括被抑制的异常、堆栈上方一两行的根因日志、相邻线程的伴随失败,以及连接池耗尽、线程池饥饿、事件循环阻塞、重试风暴、死锁重试等饱和模式;SQL 失败看厂商错误码与 SQL state;版本或部署变更后的启动失败先比对类路径与配置漂移;间歇性失败重视时间相关性与并发上下文;OOM/GC 场景堆栈证据弱,应看线程转储与堆内存症状;有指标时把首次错误尖峰与延迟、池饱和、下游依赖退化关联;响应式或协程代码需先确认上下文传播是否破坏了日志关联。
输出契约:根因(已确认或最可能,平实语言)、置信度(confirmed/high/medium/low)、证据(日志行、异常、配置事实或代码路径)、热修复(最安全的即时遏制或解封步骤)、长期修复(正确的代码或配置修正)、复现与验证(如何复现、测试与监控修复)。
限制与安全:假设必须标注为假设;除非确无更安全选项,不得把高风险 schema 变更、版本升级或大范围重构作为热修复;日志不完整时不得声称确定;修复后不得忽略告警与监控影响。Kotlin 专项检查包括平台类型 NullPointerException、掩盖原始调用路径的协程堆栈、缺失编译器插件导致的运行时行为差异,以及 Jackson 与 Kotlin 构造函数问题表现为泛化反序列化错误。资料未提供具体安装命令、收费或平台支持信息。