一般项目中是如何调bug的 ------- 手把手带你体验整个流程

例子只叫大家如何找到bug,不会将到太具体的bug的解决。因为bug太多,解决方法也很多。最重要的是找到bug。
下面以一个真实的案例来带领大家来体验。

一、运行代码,发现错误。

(在这一步,理解要报错的提示,一般编译器都或多或少有点的,如果看不懂可以赋值粘贴到CSDN上看看是否有人也有同样的报错)

在这里插入图片描述
在这个报错中,我提取到了切入点,(如上图是画红线的部分)。

二、找到报错的位置。

首先看一下是否有明显语法错误,如果看不出。试一试把这个部分注释掉看是否还会报错(关键)。
在这里插入图片描述
发现没有明显的错误 , 于是我试着把它注释掉,注意在注释的时候不要自己弄出错误。(即把与这个代码相关的根着注释掉,所以这里也体现了尽量将重复使用的代码整合会一个函数)。
在这里插入图片描述
与其想关联的
在这里插入图片描述
在这里插入图片描述

三、如果注释后运行正常了,那么就是注释掉的部分有误了(这是最想看到的结果了);

如果没有 , (如下图,还是相同的错误,我就感觉邪门了。。。) 于是将这个错误赋值粘贴 ,搜索看看
在这里插入图片描述
搜索结果如下,如果找到相同的那就最好了,没有的话。。。。(本博主就是没有,脸干)
在这里插入图片描述
不过在这些类似的结果中好像都提到了new 。刚开始我以为了模板类写错了(毕竟模板类难倒大半好汉呀)。于是将整个头文件和对应的cpp 给注释了(后来发现这个思路不对 , 不要学博主呀)

在注释的时候人已经烦了,最好还是睡了一会儿头脑清醒了。 (⊙o⊙)… 聊正题。

四、于是就认为应该不是这里的锅,那么我们将中main 函数里边调用的开始下手。

首先全注释掉 ,看还有没有,还有就是编译器的问题了。然后一个一个的解放出找到有问题的函数出来。
在这里插入图片描述
如上图,在这样操作之后,发现是 如下图
在这里插入图片描述

五、一般编译器都会有,查看定义,跳转到定义的功能,这很大程度上能让我们快速的找到bug。

(如下图)在这里插入图片描述

六、同方法五类似,找到在这函数中调用函数的问题,或者是该函数本身的问题

(在这里我是不是又提到了调用的函数,因此将功能模块化很利于我们调bug)
在这里插入图片描述

七、最后的问题,集中到一个 if 语句中了

在这里插入图片描述
继续
在这里插入图片描述
是里边 两条语句的问题 , 然后分析,肯定不会是单独下面一个语句的错,因为如果没有 申请空间就赋值肯定错的。而第一个语句又有new ,再联想到前边搜索的结果。我就想是不是new 的问题呢。
首先试了一下变成 malloc 。结果嘛,看一下这篇博客就知道不能这样,还得用new 。为何不能用malloc
之后呢?我想了想,既然申请一个空间没错,那么就是申请完空间后,第二条语句赋值的时候错了。赋值(这语句是不是很简单。。。),赋值的这个操作过程是没问题的,那么 , 真相只有一个 ,那就是 拿来赋值的 temp 有错。(最后发现,还真是)

八、因为是文件流,我就试试是不是读取到了东西 , 或者是文件没有成功打开,

好家伙不试不知道一试吓一跳呀。竟然是文件打不开的错()服了。这也告诉了一个道理一定要接加一个检查文件是否已经打开的命令。,

九、这次的分析就告一段落了,希望能帮到大家

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落春只在无意间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值