我走过的坑

不要直接上手就去修, 越修越错。

这是一般的思路

  • 明确问题所在,先去翻阅错误日志去锁定问题,关注程序报出的错误信息,包括错误类型、位置和描述。

  • 检查相关错误,其实70%错误都是小错误,主要是语法错误,比如拼写错误、缩进问题、括号不匹配。

  • 库库库,尤其我要点名一下python,版本控制混乱,不同版本兼容不同的库,安装的时候非常麻烦,导致你运行时候出错。

  • 定位问题代码,很重要的一步,这里有三种我总结的方法,一会再说

  • 观察程序状态,其实就上让他输出关键值,看是否正常

  • 检查代码逻辑,这步放到后面,因为我认为在我编程的时候这种现象发生的其实是最少的

  • 针对性修改并进行回归测试,确定没有引入新的问题

定位方法

先注释:把你怀疑有问题的代码注释掉,添加固定信息,看看是否正常输出

模块拆除测试: 这是我最经常用的方法,就是提取问题代码,构造最小复现代码片段,看看逻辑还是库的问题,这个方法能解决90%的问题

绝招:分解:没办法了真的搞不定了,那就把代码按关联部分分解成组,一组一组查

要学习的技能

善用断点去调试,一般是在在循环或函数调用前或者后设置断点,观察变量变化

  • Step Over (F10):逐行执行,不进入函数内部
  • Step Into (F11):进入当前行的函数内部
  • Step Out (Shift+F11):跳出当前函数,回到调用处。
  • Continue (F5):继续运行直到下一个断点或结束。

口诀:

设断点,分步走,查变量,跟逻辑;
条件断点抓异常,监视窗口盯数据;
进函数,看细节,出函数,观全局;
循环边界重点测,异步回调莫漏记。

总结

这基本上就包含debug的所有思路,实在不行就chatgpt,或者去社区找答案。