代码大全学习-26-调试除错(Debugging)

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

调试,号称是软件开发过程中最耗时的工作,无数的开发人员在上面花费了无数的时间。毫无疑问,想办法提高调试的效率是非常有用的。那么关键在哪里呢?就是要用科学的方法。

相信所有的开发人员都有这样的经历:要改正一个缺陷,试试改掉这一句行不行,再试试改掉那一句行不行,试来试去,越改越多,最后自己都迷糊了,不知道改了些什么。也许一下子可以了,也许还是不行,还是不知道为什么行或者不行。这个过程会花费很长的时间,最后还不一定有效果,所以是低效的方式。

科学的方法是按部就班,不求速成,因为欲速则不达。其实过程说来也很简单,

  • 第一,稳定缺陷;
  • 第二,定位缺陷;
  • 第三,改正缺陷;
  • 第四,测试修改;
  • 第五,改正类似的缺陷。

稳定缺陷是第一步,也是最具挑战性的一步。其实就是让缺陷能够重现,搞清楚在什么样的条件下一定会出现这个缺陷。不能有规律重现的缺陷通常都是初始化,跟时间相关,或者空指针之类的问题。能重现了之后就可以开始定位到底是哪一部分代码引起了这个缺陷。这时有各种各样的方法,附在后面的checklist里面,可以根据情况选用。要注意的是欲速则不达,欲速的方法要有个时间限制,超过这个时间还不行就要改用老老实实的方法。不要局限自己的思维,像什么二分搜索,暴力法都可以用上,只要能定位缺陷都是好方法。定位了缺陷之后,改正相对来说就容易多了。值得注意的是一定要理解这个缺陷相关的程序再去改正,不要冲动,不要为了改正去改正,如果没有真正理解程序,通常改正了这个缺陷却又同时会引入其他的缺陷。还有一次只改一个缺陷,要放松,不要着急,想好了再改,要知道改错了反倒会花费更多的时间。改完了

实用的IDEA配置和操作技巧总结 有时候我们在开发中会遇到一个对象需要set多个值,我们就可以安装这个插件:安装完成并重启IDEA后,对着需要进行set的对象键入alt+enter即可根据需要完成set,以笔者为例,我们要设置默认值,所以我们就选择选项:如下图所示,打出勾选的字母就会弹出白色框中的代码段,所以如果我们有希望可以快捷输出的代码也可以自己制作一个代码模板。 阅读详情

相关推荐

【读书笔记】代码大全26章:代码优化技术

代码优化其实就是反向重构逻辑优化 当你知道答案后就不要再继续判断了(C++,Java)将判定列表按顺序排列(VB+7%) 不要盲目听从优化建议将case转换成if-then-else(C#,Java,VB) 比较类似的逻辑结构(case和if-then-else) Java适合if-then-elseC# VB适合case 将复杂的表达式替换成简单的查表(C++,VB)

白色咖啡 1248

关于codeblocks中修改字体之后会跳出来A debugging check in this application has failed的解决

查了很多,但是最实用的是“别的都不做,只需将字体大小调大,调成整数,比如设置成12即可”

qq_19696893的博客 1万+

Code::Blocks

Code::Blocks出现A debugging check in this application has failed? 虽然不懂,但好像有一个灰常easy的解决方法: Settings->Editor->font->choose->随意选择一个字体(eg:consolas->常规->12->ok 好像是因为修改了字体导致的,但我也没修改字体=.= Code::Blocks运行代码出现汉字乱码? Settings->Compiler->Ot

qq_52572399的博客 2811

codeblock报错:A debugging check in this application has failed

然后按照网上的教程修改文件default.conf,仍然没有用,依然报错,根据我的观察,每次修改完文件后启动软件又会把文件改回去。后来发现点击built之后就不会再报错,但是叉掉软件重新打开依然会报错。按网上给的教程调整字体的大小,然而设置根本没有被保存,没有用。怀疑是因为我的用户名用了中文导致的,希望大佬能帮助解答。

m0_74900946的博客 2314

codeblocks20.03修改字体的设置问题

最近想用codeblocks重新学习一下c语言,于是下载了最新的20.03版本,但是codeblocks的默认主题实在是不舒服,所以想去找找codeblocks的主题和字体如何配置,配置主题上网搜搜可以得到答案,本文不再赘述,重点是更换字体时出现以下问题: 点掉这个框之后,再次打开时还是默认字体。 于是到网上搜索,答案非常少,所以借此文章提醒一下自己。 以下是修改的步骤: Codeblocks_20.03修改字体错误: A debugging check in this application has f

小谢的博客 1万+

p26初始结构体

调试是什么?有多重要?所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖也就没有迹象了,如果问心有愧,就必然需要掩盖,那就一定有迹象,迹象越多就越容易顺腾而上,这就是推理的途径。顺着这条途径顺流而下就是犯罪,逆流而上,就是真相。一名优秀的程序员是一名出色的侦探每一次调试都是尝试破案的过程。

monkeyhost的博客 259

CodeBlocks 20.03版问题集合(补充中)

最近换了电脑 更新W11系统 顺便一起更新的各种版本编译器 CodeBlocks 20.03 1、字体大小 Settings -> Editor -> choose -> 详细字体 A debugging check in this application has failed 由于字体显示太小 打算更改字体大小 发现只要切换大小立马报错 网上建议更改配置文件 但是 很惨的发现没有对应的 default.conf 只有default.cbKeyBinder20.conf文件 只

梦凝哲雪 1877

CodeBlocks 20.03版的若干已知问题及其解决方法

CodeBlocks 20.03在Win10上运行时会出现一些问题,我通过搜索网络找到了解决它们的办法,下面分享给大家。 一、改变编辑器的字体后引发“wxWidgets debug alert, A debugging check in this application has failed”的警告信息。此故障由wxWidgates 3.1.3的bug引起。解决办法为: 1. 打开Codeblocks。如果收到此警告,暂时点击continue按钮。 2. 打...

fhl_jz的博客 9491

Codeblocks20.03调整字体格式报错及解决

Codeblocks20.03调整字体格式报错及解决: wxWidgets Debug Alert A debugging check in this application has failed. …\include/wx/font.h(282): assert “numWeight > 0” failed in GetWeightClosestToNumericValue(). 参考解法:https://my.oschina.net/wwfifi/blog/4282989 简单但不明所以然的解法

ACM2017 1万+

Android投屏工具---scrcpy

投屏工具

weixin_42930699的博客 3290

bug prevention

Surprisingly, the debugging process may take significantly more time than writing the code in the first place. the best thing to do is to avoid the bug when you write the program in the first place It is important to sit and think before you code:

qq_38963393的博客 305

MIT 6.00 1X Lecture 7 Debugging 学习笔记

l MIT6.00 1x (麻省理工:计算机科学和Python编程导论) Lecture 7 Debugging 调试 7.1 TESTING AND DEBUGGING 测试和调试 Testing and Debugging 测试和调试 • Would be great if our code always workedproperly the first $me we run it!

Preeminent 1753

Debugging Applications》读书笔记

Debugging Applications》读书笔记   按:此书更重视的是预防性编程的实践,例如建立源代码控制系统、Bug跟踪系统,进行assert、trace、comments,进行单元测试等。   Chapter 1 Bugs: Where They Come From and How You Solve Them     The reasons for bugs ge

Luckyman 906

避免bug实用调试技巧(和bug郭一起学C系列)

点击跳转指点位置什么是bug**博主`bug`郭的由来**调试什么调试的重要性调试的重要性!调试步骤`Debug`和`Release`区别调试快捷键调试窗口发现`bug`定位`bug`找到`bug`并更改`bug`调试案例练习如何避免`Bug` 什么是bug bug原意是“臭虫”,现可用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害。广义上,bug可用作形容各领域范围内出现的漏洞或缺陷。-摘自百度 bug翻译过来就是虫子的意思,那为啥会用来指代计算机的.

bug郭的博客 878
上一篇: 代码大全学习-25-开发人员测试(Developer Testing)
下一篇: 代码大全学习-27-重构(Refactoring)
tyst08
博客等级 码龄19年 1822粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值