VS调试技巧资料

人非圣贤,难免造bug,似我等愚人,bug会特别多(I am just a poor guy~)。与bug大军们恶战几百回合后,终于,我发现,好的调试技巧是解决掉bug的绝妙武器(难得开窍啊……)。总之,工欲善其事,必先利其器。

回归正题,下面整理一些VS的调试技巧资料。

1. 热心网友们关于watch, memory, output, breakpoint, call stack等的介绍
https://www.cnblogs.com/yangcaogui/p/3145031.html
https://www.cnblogs.com/wangsai/p/4113242.html
http://www.cnblogs.com/lazycoding/archive/2012/10/03/2710738.html

2. 常用快捷键
https://www.cnblogs.com/wangliu/p/3894176.html

3. 杂七杂八的调试小心得(界面可参见上述网址)

(1)关于快捷键
快捷键是可以自行设置的,不过一个个设置实在是太麻烦了。幸好VS有默认的快捷键设置,可参照以下网址恢复VS的默认环境设置,根据自己的需要选择设置集合,比如我就习惯了用Visual C++工具集合。
https://blog.csdn.net/bianjing40/article/details/77587834/ (中文版)
https://www.cnblogs.com/fanyf/p/3577009.html (英文版)

(2)关于Output窗口
编译和重编译(Build & Rebuild)的结果都在Output窗口显示。通常会先看最后一行,succeed or failed,成败都看它了。
0 failed 当然是最理想的结果啦,这说明代码至少在语法上没有被检查出错误,可以继续debug看看数据结果有没有问题。
如果显示非零falied的话,也不用慌。在Output窗口向上翻页找关键字error,双击该句错误说明就可跳转到指定位置进行修改。感觉挺人性化的,有木有?假如它只告诉你有错,却傲娇地不告诉你在哪里,当代码规模较大的时候,可就麻烦了。像我这样的造bug专业户,大概会弃疗。。
Output窗口还会显示很多的warning(警告),最理想的情况是No warning , 但是有warning也不会影响代码的运行,只是看着比较心烦,可参照以下网址屏蔽掉warning。不屏蔽的好处大概是可以检验自己的代码是不是足够符合代码规范(我对这个不太了解,一向不怎么关注)。
https://blog.csdn.net/duan19920101/article/details/51365299
https://zhidao.baidu.com/question/1308141233179371979.html
https://www.cnblogs.com/dongdonggege/p/4530967.html

(3)关于memory窗口
First, 到哪里调出memory窗口呢?
调试状态下,找到工具栏的Debug -> Windows -> Memory,里面有4个memory窗口任君选。
Second,memory窗口有啥用呢?
可以通过memory窗口查看内存中的数据。当调试对象涉及到数组的时候,用起来比监视窗口(Watch)方便多了。另外,有时内存中数据的摆放顺序对程序的正确性起着至关重要的作用,例如加解密算法。

(4)关于watch窗口
监视窗口,想必大家都很熟悉了,也是在调试状态下可见。程序执行到断点处时,可以用来查看中间变量的值,还可以进行一些简单的运算,加减乘除啥的。其显示的数值可以是十进制数,也可以是十六进制数,在显示数值一列单击右键可进行切换。

(5)关于Call Stack窗口
堆栈窗口,调试状态下可见,看大型代码的时候非常有用。可以看到当前函数被逐级调用的情况,并跳转到各级调用函数,有助于分析和掌握代码的结构。

(6)关于Breakpoints窗口
断点窗口,调试状态下可见,上面会清楚地列出所有打了断点的地方,方便管理和清除断点。

未完待续……

猜你喜欢

转载自blog.csdn.net/allen_sdz/article/details/83831384
今日推荐