1 悬停鼠标检察表达式值
调试是很有挑战性的。比方在函数内逐渐运转能够看出那里失足,检察客栈信息能够晓得函数被谁挪用等等。
然则不管哪一种情况下,检察表达式和部分变量的值都是很贫苦的(把表达式和部分变量放到watch窗口里)。
一种更简朴的要领,把鼠标停在所需检察的数据上。假如是类或构造,那末点击睁开能够很轻易疾速地检察其字段。
2 在运转过程当中转变变量值
调试器不单单议是剖析顺序崩溃和诡异行动的东西,还能够经由过程逐渐调试搜检数据和行动是不是相符顺序预期的要领处理很多bug。偶然,你会想是不是设置某些前提为真,顺序就可以准确运转了。实在你只需把鼠标移动到变量上,双击值,然后输入你须要的值。如许就不须要修正代码,重启顺序了。
3 设置下一个运转位置
一个典范的调试案例是我们常常会用逐渐调试的要领去剖析为何函数失足了。这时候你碰到这个函数挪用其他函数返回毛病,而这个毛病不是你想要的,你该怎么办?重启调试器?这里有个更好的要领,直接把黄色的运转位置箭头拖到你想要的运转位置。实在就是跳过中心运转代码,直接到想要的位置。很简朴吧。
4 编辑然后继承运转
在运转一个很庞杂的顺序和插件时,发明一个毛病,然则不想浪费时候去重编译重启动顺序。
很简朴,只需在这个位置修正这个bug,然后继承调试。Visual studio会修正这个顺序,使得你能够继承调试而不须要重启顺序。
值得注意的是“编辑然后继承运转”这个功用有几个限定。一,它不能在64位代码上运用。假如想运用这个功用,到项目设置里的编译选项,挑选”x86”作为目的平台。不要忧郁,这目的平台在reslease设置是和”debug是星散的,也就是说依然是”Any CPU”的设置。二,“编辑然后继承运转”这个功用仅适用于一个函数内部转变。假如你想要转变这个函数的声明也许增添新的要领,你只能挑选重启顺序,也许不做任何转变继承。假如修正的要领中包括lambda表达式,则意味着修正了编译器自动生成的托付范例,如许会致使编译器住手运转。
5 一个轻易的检察窗口
大部分当代的调试器都有检察窗口。然则,visual studio的检察窗口运用迥殊简朴,你能很轻易的增添和删除变量。只需在窗口里点击空白行,输入表达式然后按enter键。也许点击表达式,按delete键删除不须要的表达式。
在调试窗口不单单议能够检察一般的变量值,以至能够输入$handles去追踪翻开的句柄数目,$err去检察函数的毛病代码(然后运用 Tools->Error 检察毛病代码的形貌)也许输入 @eax(在64位下是@rax )检察包括函数返回值的寄存器值。
6 解释反汇编
运用内部的反汇编功用使得优化部分代码越发简朴。Visual studio能够在你的每一行代码下显现汇编指令,而且能够逐渐调试汇编代码,也能够在恣意位置设置断点。检察和修正汇编代码类似于c++。
7 客栈信息的线程窗口
调试多线程代码是很痛楚的。也许也是风趣的。这取决于你的调试器。Visual studio 一个很赞的功用就是在线程窗口检察线程的客栈信息。你能很轻易的直接看到一切线程以及他们的客栈信息。
8 前提断点
假如你想重现一个小概率事件,然则断点在大批不须要的前提下也会触发。你能够很简朴的设置前提断点。在断点窗口设置该断点前提,Visual studio 会自动疏忽不相符前提的断点。
9 内存窗口
一些bug是由毛病的构造定义、缺乏对齐属性等缘由引发的。检察每行内存的内容很轻易定位和处理这些bug. Visual studio 的内存窗口能够把数据翻译成8/16/32/64-bit数字也许浮点数。你能够在编辑窗口直接转变数值。
10 跳转到定义
假如你在处理他人写的代码一个bug,会碰到“这个范例是什么”“这个函数做什么的”之类的题目,你能够运用visual studio的跳转到定义的敕令来检察范例或函数的定义。
11 敕令窗口
这个小技能是由chaau发起的,它能节约你大批的时候。Visual studio支撑一个敕令窗口,你能够经由过程菜单View->Other Windows->Command Window 翻开。你能够在窗口里输入差别敕令使调试自动化。比方,能够经由过程很简朴的敕令去的测试MFC的COleDateTime变量。
以上就是为人人分享的11个Visual Studio调试技能,愿望对人人的进修有所协助。
更多Visual Studio调试技能汇总相干文章请关注ki4网!