基本操作
传送门
- 启动调试
点击调试菜单下的“启动调试”或者按F5键启动。如果你已经在代码中加入了断点,那么执行会自动开始。 - 退出调试
快捷键shift+F5。 - 断点
通过点击左边栏或者按F9键在当前行添加断点。 - 逐过程
”Step Over“[F10]命令用于一条一条的执行代码。 - 逐语句
调试器会进入方法内部。快捷键是”F11“。 - 跳出
如果你在当前方法内按Shift - F11,调试器会完成此方法的执行,之后在调用此方法的语句的下一条语句处暂停。 - 设置下一语句
一个典型的调试情况就是通过单步跟踪分析为什么一个函数调用失败了。当你发现一个函数调用的另一个函数返回错误的时候你会怎么做?重启调试?有更好的方法。拖动这个黄色的语句标识到你想下一步执行的语句前就可以了。比如你刚才失败的那块,然后步入。
进阶
传送门
-
实时改变值
调试器不仅仅是一个分析程序崩溃或是异常结果的工具了,许多bug都可以通过步入新写的函数,检查函数是否如期望的那样运行来预防。有时候你可能会好奇“如果条件为真函数会正确运行吗”大多数情况下,根本不需要改变代码重启挑起,仅仅把鼠标悬停到一个变量上,双击值然后输入一个新值就可以了 -
方便的监视窗口
从监视窗口你不仅仅可以看到“正常”的变量。你可以输入 h a n d l e s 来 追 踪 你 的 程 序 打 开 了 多 少 句 柄 ( 可 以 方 便 的 修 复 内 存 泄 漏 ) , 输 入 handles 来追踪你的程序打开了多少句柄(可以方便的修复内存泄漏),输入 handles来追踪你的程序打开了多少句柄(可以方便的修复内存泄漏),输入err 可以看到上一个函数的错误码,然后使用工具-错误信息可以看到更详细的描述,或者输入@eax(64位是@rax)来查看包含函数返回值的寄存器。 -
条件断点
定义一个断点的条件,然后如果条件不成立,VS会忽略该断点 -
命中次数功能
有时你只想在条件第N次成立时中止执行。例如:仅当第5次出现查找返回值小于10时,才中止执行。你这样启用这个功能:右击断点, 选择“命中次数…”菜单命令。