Visual Studio中11个调试技巧和方法分享

微软家的Visual Studio是一款强大的开发工具,软件的开发都离不开调试的工作,今天小编就来告诉大家软件的11个调试技巧和方法,学会了之后,可以大大提升小伙伴们的工作效率 。

【Visual Studio中11个调试技巧和方法分享】方法/技巧
1 悬停鼠标查看表达式值

Visual Studio中11个调试技巧和方法分享


调试是很有挑战性的 。比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等……但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里) 。一种更简单的方法,把鼠标停在所需查看的数据上 。如果是类或结构,那么点击展开可以很方便快速地查看其字段 。
2 在运行过程中改变变量值
Visual Studio中11个调试技巧和方法分享


调试器不仅仅是分析程序崩溃和诡异行为的工具,还可以通过逐步调试检查数据和行为是否符合程序预期的方法解决许多bug 。有时,你会想是否设置某些条件为真,程序就能正确运行了 。其实你只要把鼠标移动到变量上,双击值,然后输入你需要的值 。这样就不需要修改代码,重启程序了 。
3 设置下一个运行位置
Visual Studio中11个调试技巧和方法分享


一个典型的调试案例是我们经常会用逐步调试的方法去分析为什么函数出错了 。这时你遇到这个函数调用其他函数返回错误,而这个错误不是你想要的,你该怎么办?重启调试器?这里有个更好的方法,直接把黄色的运行位置箭头拖到你想要的运行位置 。其实就是跳过中间运行代码,直接到想要的位置 。很简单吧 。
4 编辑然后继续运行
Visual Studio中11个调试技巧和方法分享


在运行一个很复杂的程序和插件时,发现一个错误,但是不想浪费时间去重编译重启动程序 。很简单,只要在这个位置修改这个bug,然后继续调试 。Visual studio会修改这个程序,使得你可以继续调试而不需要重启程序 。
值得注意的是“编辑然后继续运行”这个功能有几个限制 。一,它不能在64位代码上使用 。如果想使用这个功能,到项目设置里的编译选项,选择”x86”作为目标平台 。不要担心,这目标平台在reslease配置是和”debug是分离的,也就是说依然是”Any CPU”的设置 。二,“编辑然后继续运行”这个功能仅适用于一个函数内部改变 。如果你想要改变这个函数的声明或者增加新的方法,你只能选择重启程序,或者不做任何改变继续 。如果修改的方法中包含lambda表达式,则意味着修改了编译器自动生成的委托类型,这样会导致编译器停止运行 。
5 一个方便的查看窗口
Visual Studio中11个调试技巧和方法分享


大部分现代的调试器都有查看窗口 。但是,visual studio的查看窗口使用特别简单,你能很方便的增加和删除变量 。只要在窗口里点击空白行,输入表达式然后按enter键 。或者点击表达式,按delete键删除不需要的表达式 。
在调试窗口不仅仅可以查看普通的变量值,甚至可以输入$handles去追踪打开的句柄数量,$err去查看函数的错误代码(然后使用 Tools->Error 查看错误代码的描述)或者输入 @eax(在64位下是@rax )查看包含函数返回值的寄存器值 。
6 注释反汇编
Visual Studio中11个调试技巧和方法分享


使用内部的反汇编功能使得优化局部代码更加简单 。Visual studio可以在你的每一行代码下显示汇编指令,并且可以逐步调试汇编代码,也可以在任意位置设置断点 。查看和修改汇编代码类似于c。

推荐阅读