首页 > 其他分享 >如何Debug

如何Debug

时间:2023-12-07 21:33:05浏览次数:26  
标签:需求 代码 如何 Debug bug 调试

如何Debug

调试理论

开始调试之前

摆正心态(编程哲♂学)

机器永远是对的

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

未测代码永远是错的

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

“软件”的两层含义

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

  • 理解错需求->bug

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

  • 实现错误->bug

调试(debugging)

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

调试困难的根本原因

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

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

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

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

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

image-20231204173643985

看懂报错信息

 

'print'解决简单的bug

 

利用ChatGPT进行提问

标签:需求,代码,如何,Debug,bug,调试
From: https://www.cnblogs.com/tyut-Ruhall/p/17884027.html

相关文章

  • 如何配置Modbus转Profinet网关以与6台232 Modbus伺服通信
    如何配置Modbus转Profinet网关以与6台232Modbus伺服通信Modbus转Profinet网关(XD-MDPN100)连接6台232Modbus伺服同时控制的解决方案不仅简化了设备连接,还减少了人力投入和维护成本。通过Modbus转Profinet网关,操作人员只需对Profinet网关进行设置和监控,即可实现对6台232Modbus伺......
  • datawhale04:debugging
    debugging理念遵循计算机不会犯错的原则方法printassert可以在数据条件不满足表达式时输出AssertionError,强行停止用于检测数据范围ide添加断点进行调试:停在断点处继续:运行到下一个断点单步跳过:只执行当前行单步调试:进入函数内部进行调试重启:重新运行断点调......
  • 如何通过数据文化加速企业管理的转型升级?
    #01企业管理更需要“转型升级”中国企业管理在某种程度上来看,受到中国传统文化、社会价值观及现代化趋势等多方面影响的结果,比如说,中国传统文化强调长期思考和计划,这在企业管理中体现为对长期业务发展和可持续的关注。但同时,我们也发现,目前来看,中国式企业管理也还存在着缺少创新性......
  • npm、yarn、pnpm 如何删除缓存文件?
    1.简介在前端工程化的环境下,频繁的安装、更新、移除依赖,总会产生一些不活跃的npm依赖包,一直隐藏在某个角落里。2.NPM2.1.查看缓存路径npmconfiggetcache2.2.删除缓存npmcacheclean--force3.YARN3.1.查看缓存路径yarncachedir3.2.删除缓存yarncacheclean......
  • 小程序建立用户与数据的联系,运行代码后报错如何解决?
    要解决小程序建立用户与数据联系后出现的报错,您可以按照以下步骤进行排查和解决:检查报错信息:仔细阅读报错信息,了解出错的位置和具体的错误提示。这可以帮助您定位问题所在。检查代码逻辑:仔细检查您的代码逻辑,特别是涉及用户与数据关联的部分。确保代码中没有语法错误、逻辑错误或者......
  • 手把手教你如何下载小鹅通上已购买的视频课程
    前言:很多同学都想知道小鹅通中视频课程怎么下载,但是小鹅通上面已购买的视频课程是不提供直接下载方式的,所以下面就教大家如何用学无止下载器下载小鹅通上面已购买的视频课程。一、电脑网页打开小鹅通官网(https://study.xiaoe-tech.com),找到已购买的课程二、找到想要下载的课程,点......
  • ###聪明办法学python Task07:debug调试
    debug的调试1.调试理论的简单介绍在计算机中,我们将机器看作状态机,同时我们遵循计算机不会犯错的原则,因此,如果程序运行不对劲,好好想想是不是自己的问题2.看懂报错信息编译器的报错要看懂,看不懂用翻译调试方法1.print调试:将程序分段后添加print,锁定问题发生地2.assert调试:表......
  • npm、yarn、pnpm 如何删除缓存文件?
    1.简介在前端工程化的环境下,频繁的安装、更新、移除依赖,总会产生一些不活跃的npm依赖包,一直隐藏在某个角落里。2.NPM2.1.查看缓存路径npmconfiggetcache2.2.删除缓存npmcacheclean--force3.YARN3.1.查看缓存路径yarncachedir3.2.删除缓存yarncacheclean......
  • 聪明办法学Python(Debug)
    前言:尽可能的将bug在设计时变得更容易暴露出来,将某些关键的步骤进行可能的可视化。(print,assert)调试1调试理论的简单介绍bug的触发过程:需求--设计--代码--fault--error--failure2看懂报错信息3利用print方法调试程序4利用assert方法调试程序assert:后面举一个条件,如果不......
  • 如何为python程序debug
    如何为python程序debug 1调试理论的简单介绍bug的触发过程:需求--设计--代码--fault--error--failure2看懂报错信息3利用print方法调试程序4利用assert方法调试程序assert:后面举一个条件,如果不满足,则运行错误5利用你的idea来调试程序 首先打开IDEA2打开所需......