假设我们已经完成了一个程序,想要知道这个函数具体的逻辑结构是怎么运行的,或者说一个变量在程序的某个位置被赋予了何值,这时候就需要用到调试功能了—— 因为大家用的编辑器五花八门,我个人比较熟悉Dev-C++,所以剩下两个我会附上个人感觉还行的两篇讲解。不过调试的基本步骤是大同小异的……吧,使用其他编辑器的同学也可以试着看一下。
Dev-C++
首先,要对一个已经完成并且已经经过编译的代码进行调试,调试过程中如果修改了代码一定要重新编译再调试。
编译、运行、编译运行这三个在哪里我就不细说了应该都会,调试要干的第一件事就是打断点,说人话就是点行数标号那里,大家应该平时写程序的时候也会误点,点击之后会变成红色,再次点击就会取消。 然后我们点击“调试”(在下方的管理器窗口中)或者是“F5”(键盘最上方一排),接着如果运行框(小黑框)跳出来就输入数据,接着你就会发现原来是红色的打断点的那一行变成了蓝色,蓝色意思是当前正准备执行的代码行。 接着我们逐次点击“下一步”选项(在调试的右边第二个),会发现蓝色行在不断的移动,蓝色行移动的顺序就是你的代码运行的顺序,这时候就可以一步一步慢慢的查看代码是如何运行的了,如果发现代码在某一步出现了问题,那就点击“停止执行”(调试的下方),修改代码,然后再重新编译,继续调试。
这里看起来很简单,却经常出很多问题,比如输入数据以后敲击换行键再点击下一步却没有任何反应啊,或者说断点那里根本不会变蓝之类的……这里只能说,面向百度/csdn编程吧,或者自己可以实验一下管理器窗口那么多的选项,说不定有一个正是你所寻找的呢,实践出真知嘛。
说完如何逐步调试,接下来就是如何添加查看。这个功能是为了配合逐步调试功能,能够时刻监视变量的值,方便查找代码问题。 一个比较基础的方法就是把鼠标放在你想要知道的变量上方不动,它就会自动显示当前变量的值。 或者你可以点击“添加查看”(调试的右边那个),然后输入你想要观察的变量,接着再点击下一步,左边的“管理器”面板中的调试页面就会实时显示变量值。
如果左边没有管理器面板或者下方没有管理器窗口,就在“视图”中将其打开。
visual studio
我瞅了下关于VS的断点步骤,和Dev其实是差不多的,只不过有一些方便的快捷键:
- 在想要添加断点的地方右侧点击,点击成功后会出现红色原点。
- 启动程序,当进行到断点处时,程序会停止,然后可以看到一个黄色的小箭头在断点处
- 快捷键F10:进行下一句代码
- 快捷键F11:进入当前代码所调用的方法,如果没有则进行下一句。
- 快捷键F5:跳过本断点。有时候断点看到之后就不想在调试,可以使用F5跳过本次断点。
- 断点可以在点击那个红点的时候取消。但是当添加的断点较多时,可采用删除所有断点的方式进行。
如果还有什么疑问的话就看看别人的讲解吧。
VSCode
这个我找了一下,好像必须下一个Debugger for Chrome 插件,着实是有些麻烦……链接 放这里了,需要自取。
一些小技巧
其实吧,一开始我是不怎么用断点调试的,虽然它很直观,也很方便,但是有一个个人认为的缺点,就是慢,如果是想细致的去
d
e
b
u
g
debug
debug,那无可厚非,但是在很多时候,我们并没有如此多的时间和经历去将代码的所有逻辑结构都给它过一遍(特别是之后要写五六百行代码的时候),这时候我们其实只需要把代码的某一阶段之后,处于中间过程的一些变量直接输出,然后之后的代码直接注释掉(直接鼠标右键选定多行,然后
c
t
r
l
+
/
ctrl+/
ctrl+/)。然后观察中间变量的值,就可以在一定程度推测出自己的代码是在哪一部分出现了问题。因为我们在写代码的时候,心里一定要清楚自己是如何一步一步实现结果并如何输出的,这样的话,不需要对代码整个进行检查,只需要对自己感觉有问题的地方进行“重点观察”,在绝大多数情况下就可以解决问题了。
还有一个方法,就是手搓数据,自己去构造一些样例,然后用自己的代码跑一遍,观察输出是否符合自己的预期,如果出现了问题是哪一方面………毕竟题目所给样例有可能涵盖了特殊情况,又或许没有,不知道在哪里挖了一个坑等你呢。
如果以上哪里有错误的话还请私信我,如果对其中内容还抱有疑问……先自己上手试一下,然后再面向百度/csdn编程,实在有问题的话再私信老师或者企业微信联系我。
|