c语言中什么叫做单步调试,步骤是什么???

c语言中什么叫做单步调试,步骤是什么???,第1张

单步调试是指程序开发中,为了找到程序的bug,通常采用的一种调试手段,一步一步跟踪程序执行的流程,根据变量的值,找到错误的原因。

解山并局决这个问题的方法如下:

1、首先需要设置断点的那一行代码的最前面点逗让击蔽仿下,就会出现一个红色的圆球,代表设置断点成功,下图一共设置了4个断点。

2、设置断点完成之后,按下F5,开始断点调试,断点走到的位置,会在红色圆球上添加一个黄色箭头。

3、继续按下F5, 程序会往下执行,走到下一个断点的时候停止。

4、继续按下F5,当设置的断点不满足条件的时候,不会走进去,而是继续执行,跳到下一个断点。

5、另外,当走到某个断点处,可以实时更改当前变量的值。

6、当不需要单步调试的时候,点击下图标示的图标,可以删除所有的断点。

7、删掉之后,红色圆点消失,这样问题就解决了。

1、调试标记

适用预处理#define定义一个或多个调试标记,在代码中把调试部分使用#ifdef和#endif进行管理。当程序最终调试完成后,只需要使用#undef标记则慎闹,调试代码就会消失。常用的调试标记为DEBUG, 语句序列:

#define DEBUG#ifdef DEBUG调试代码#endif

2、运行期间调试标记

在程序运行期间打开和关闭调试标记。通过设置一个调试bool标记可以实现。这对命令行运行的程序更为方便。例如孙罩下面代码:

#include#include using namespace stdbool

debug =falseint main(int argc,char*argv[])

{ for(int i=0ibool go=truewhile(go){ if(debug) {调试代码 }else {}}}

3、把变量和表达式转换成字符串

可是使用字符串运算符来实现转换输出定义

#define PR(x) cout<<#x”=”<

4、c语言的assert()

该宏在中,,当使用assert时候,给他个参数,即一个判读为真的表达式。预处理器产生测试该断言的代码,如果断言不为真,则发出一个错误信息告诉断言是什么以及它失败一会,程序会终止。

#include assert>using namsapce std

int main(){ int i=100

 assert(i!=100)

//Fails}当调试完毕后在孝族#include

前加入#define NDEBUG即可消除红产生的代码}

相当有用。在你编的程序,编译后出错了,你又找不出。就用debug。去纠错。这个debug的功能其实就是把每一步产生的变量值替你列出来。让你一步步检查。当然你要检查的变量要你先选定好。这是它的原理,还有一点点磨正盯细节,你自己去试吧。

不过这个也不会一直用,因为逻辑或者是语法上的错误清顷大多数情况下,可以直接瞎和看出来。没必要用debug


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12368338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存