使用Dec C++的小伙伴看过来!
关于Dec C++,写代码的时候总觉得逻辑好像一点问题都没有呀,怎么结果就不对呢,到底错在哪呢?这么长的代码,从哪里开始改呢?这我越看代码越觉得对,怎么办呢?
计算机是不会骗人的!
错了就绝对是错了,开始正题,Dec C++我认为是在我认识的C编译器里面调试比较麻烦的,相比于Visual Studio等一些人性化的编译器,Dec C++简直弱爆了。
Dec C++的调试在我看来,主要重在以下几点:
(1)断点的设置
Dec C++中要调试一段代码时,就需要设置断点,点击行数,也就是图中的569的位置,这一行就会变红,如果这是第一行红色的代码,那就是调试的起点,当然,有起点就要有终点,所以如图,这是调试的第一步。
(2)先编译,再调试
你们可能经历过,点调试出现以下弹窗
这时候兴高采烈点一下 yes,然后程序嗖的一下就关掉了,这是因为你运行的时候直接就调试了,还没有编译,人家还不知道能不能走,你就叫人家走,这下好了,直接闭门不见了。
所以在设置完断点之后,一定一定要先编译(F9/F10/F11),鼠标党也可以直接在上面任务栏”运行“处编译。
(3)各个调试按钮的使用
在F9之后,下方就会自动弹出编译日志,如果已经改动这一设置的朋友们可以考虑手动打开编译日志。在这里可以看到编译日志旁边就是调试了。
在前面每一步都完成后,点击调试即可,蓝色这一行就是你调试当前所在的位置。
”添加查看“:点击后可以手动输入需要查看的参数的名字,如上图左侧,可以动态监视这个变量的变化是否如你所愿。
”下一步“和”跳过“:执行下一行C++语句,遇函数也当做一行语句执行
”下一条语句“:近似于”下一步“,逐句执行汇编代码。
”查看CPU窗口“:可以查看内存中的变量存储,涉及到整型提升,强制类型转换,大小端存储,字节输入输出等问题时可以查看此区。
”单步进入“:宏观上与”跳过“恰好相反。也是一步一步执行的意思。执行下一行语句,遇函数则进入函数单步执行
”进入语句“:也是在汇编代码中可以看到,也是逐句执行汇编代码。但是他与 下一步语句 区别是,下一条语句不会进入到系统调用,比如标准库的汇编代码,但是 进入语句 会进入标准库的汇编代码。
(4)杂七杂八的细节补充
如果断点设置在main里面的前几行,如果点击下一步就会进入一个 iostream 的文件,这是调用main函数的过程,直接跳过即可;
关于scanf函数,有些时候遇到这一行的时候点下一步不动了,这个时候记得把命令窗口点出来输入初值;
以上内容,如有错误,请佬指正和补充!!!
总结:
调试,学这类语言的必备,不只是找bug,看别人的代码有时候看不懂一些语句怎么实现的时候,就可以通过调试来理解。
还有不会调试的小伙伴吗,叫他(她)也学起来!