如何Debug

如何Debug

调试理论

开始调试之前

摆正心态(编程哲♂学)

机器永远是对的

不管是crash了,Wrong Answer 了,还是虚拟机神秘重启,都是自己背锅

未测代码永远是错的

你以为最不可能出bug的地方,往往bug就在那躺着

“软件”的两层含义

  • 人类需求在信息世界得的投影

  • 理解错需求->bug

  • 计算过程的精确(数学)描述

  • 实现错误->bug

调试(debugging)

  • 已知程序有bug,如何找到?

调试困难的根本原因

因为bug的触发经历了漫长的过程

  • 需求->设计- >代码(状态机)->Fault(bug)->Error(程序状态错)->Failure

  • 我们只能观测到failure(可观测的结果错)

  • 我们可以检查状态的正确性(但非常费时)

  • 无法预知bug在哪里(每一行"看起来"都挺对)

image-20231204173643985

看懂报错信息

 

'print'解决简单的bug

 

利用ChatGPT进行提问

posted @   Rahull  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示