你不需要提示工程,你需要扫描与验证
真正有效的调试方法不应只停留在猜测和修改上,而是要系统化地扩大问题排查的维度,并且通过验证逐步消除假设,直到找到根本原因。
代码逻辑排查
在调试过程中,代码逻辑错误是最常见的问题之一。在关键位置添加日志输出,可以帮助你清晰地看到每个环节的运行情况,从而快速定位问题。
提示词:
请注意,你现在只能通过日志排查问题。首先列出当前功能中可能出错的3个关键逻辑环节,然后从中选择一个最可能出错的环节,并帮我在关键位置添加日志输出,以便我可以立即验证这个推测。
环境因素排查
环境问题通常是调试中容易被忽视的因素。数据库连接问题、服务器负载、配置项设置等,都会影响程序的运行。在无法直接修改代码时,通过检查环境变量、配置文件、系统状态等,可以帮助排查是否存在由环境因素引发的异常。
提示词:
请注意,你只能通过日志排查环境相关的问题。列出3种可能导致当前Bug的环境或配置问题,然后确定最可能的一个,帮我设计一条简洁明了的日志输出语句,帮助快速暴露这个环境因素的真实状态,以便我验证。
数据流排查
很多程序的问题往往来自于数据的流动过程,通过日志捕获每个数据流动环节的具体情况,可以帮助你快速找到数据异常的根本原因。
提示词:
请注意,你只能通过日志排查数据相关的问题。列出3个可能导致数据异常的关键环节或操作步骤,最终确定最可能的关键环节,清晰指出在哪些位置添加日志,以及日志内容需要输出哪些关键信息,帮助我迅速验证。
性能瓶颈排查
程序执行缓慢时,可能存在性能瓶颈。通过识别关键步骤的执行时间,可以帮助我们发现并解决性能问题。
提示词:
请注意,你只能通过日志排查性能相关的问题。列出3个可能导致性能瓶颈的步骤或函数,然后帮助我在关键位置添加日志,记录执行时间,验证是否存在性能问题。
一个简单事实:让Bug自动暴露
每一个看似复杂或难以解决的问题,都源自于一个简单的事实:
你没有从足够的维度来审视它。
程序错误并不是天生难以捕捉,而是因为你目前所观测的信息不完全。
换句话说,问题存在的本质,就是你无法全面、准确地获取问题的所有信息维度。当这些维度被填补,问题便会自然而然地显现出来。
所以调试的核心是“增加维度”
调试并不仅仅是去修改代码、解决表面问题。真正的调试本质,是通过增加观察问题的维度,使得问题的根本原因自然暴露出来。
用AI帮助debug源于两个核心的观念:
1、对于任何一个程序问题,存在一个足够完备的信息维度集合,可以揭示问题的根本原因。
2、随着问题被不断观察和验证,从不同维度进行交叉检验,问题的根本原因必然会暴露。这是一个“收敛过程”,即随着维度数量趋于无限,问题的解答也必然趋向确定。