从 0 到 1 学习 Visual Studio Debug 之三:小技巧


prtyaa
prtyaa 2023-12-25 16:08:51 50823
分类专栏: 资讯

本次教程将分享一些 Visual Studio 比较实用的 Debug 小技巧。

为了准确和统一,小标题都使用了英文。

 

 

 

1. Restart Debugger quickly

 

 

当你要重新启动 Debugger 的时候,不必先 Stop,再 Start。

可以按下 Debug 工具栏中的 Restart 按钮。

这样可以节约很多时间。

 

 

 

2. Run to Cursor

 

 

在某代码行右键选择 Run to Cursor,将启动 Debugger,同时会在当前行设置一个临时断点。

如果此代码行前面有断点,那么程序将会在第一个断点处停下来。

接下来可以不断按下 F5, 执行到刚才设置 Run to Cursor 的那一行。

 

 

 

3. Run to Click

 

 

这是 VS 2017 新增的功能。

在 Debug 的过程中,把光标移动到代码行的前面,会出现一个带框的绿色箭头。

按下此箭头,可以让程序快速执行到该代码行。

此功能叫 Run to Click

它的作用也是设置临时断点,好处是节省了按下 F9 和 F5 的时间。与 Run to Cursor 相比,使用更为便捷。

 

 

 

4. Pin Data Tips

 

 

Debug 的过程中,通过 Data Tips 查看某些变量的值,常规的做法是,把光标放在想要查看的变量上,等 Data Tips 出现。

如果想要频繁查看变量值的话,这样会比较麻烦。

其实,可以按下 Data Tips 窗口旁边类似于钉子的按钮,这样就可以把 Data Tips 窗口 Pin 住。

即使重启 Debugger,它依然是保持 Pin 的状态。另外,可以同时 Pin 住多个变量的 Data Tips。

个人觉得,这个功能跟把变量放进 Watch 窗口查看,效果是一样的。

 

 

 

5. Step into a property

 

 

此功能仅针对托管代码。

默认情况下,Debug 不会跳进 properties(属性)和 fields(字段)。

但是 Step Into Specific 可以使它这么做。

如上图,在 Path 属性上右键选择 Step Into Specific,然后选择合适的选项,进入 Path.set。

 

 

 

6. Change the execution flow

 

动图。

 

动图封面
 

 

当 Debugger 在某一行停下来的时候,可以用鼠标移动左侧的黄色箭头,更改代码执行流程。

黄色箭头新移动到的位置代表下一条即将要执行的语句,可以往前移动,也可以往后移动。

用这个方法,可以在不 Restart Debugger 的情况下,重新运行代码,或者用来跳过已知有 Bug 的代码段。

注意:往前移动黄色箭头,不会使程序返回到之前的状态。往后移动黄色箭头,中间跳过的代码段也不会被执行到。

 

 

 

7. Edit and Continue

 

动图。

 

动图封面
 

 

VS 支持的大部分编程语言,都可以在 Debug 的过程中编辑代码,而不必重新编译运行。

只要编辑代码,接着按下 F5,F10 或者 F11, 就能继续 Debug 了。

 

 

 

8. Step into non-user code

 

 

默认情况下,Debug 过程中只会显示用户代码,Framework 代码、第三方库和系统调用会被忽略。

假如想要在调试过程中查看 Framework 代码、第三方库和系统调用,可以使用 VS 的 Just My Code 功能。

在 Tools / Options / Debugging 菜单下 ,禁用 Just My Code (仅我的代码) 即可 。

 

 

 

9. Debug issues hard to reproduce

 

 

 

当你很难复现一个问题或者达到某个状态非常的耗时,可以试下条件断点是否有帮助。

具体做法是在断点的红点处右键选择「条件」或者把光标放在红点上,等待「齿轮」按钮出现并点击。如上第一幅图。

此时可在出现的设置窗口中设置条件断点。如上第二幅图。

条件断点的含义是只有在条件满足的情况下,此断点才会被触发。

本例中,只有在 data==5 的时候,断点才会停下来。

 

 

 

10. View return values for functions

 

 

 

有的时候,函数的返回值在代码中并没有用变量明确保存下来。

这种情况下,可以通过 Auto 窗口或者 Immediate 窗口方便的查看函数的返回值。

注意:在 Auto 窗口查看函数的返回值,一定要在此函数被刚执行完的时候。

 

 

 

11. Inspect strings in a visualizer

 

 

 

代码中出现字符串的时候,使用字符串可视化工具能够非常方便的查看格式化后的字符串。

具体方法是: Debug 过程中,把光标悬停在想要查看的字符串旁边,等待出现 Data Tips,然后再点击查找符号旁边的下三角,选择查看 Plain text,XML,HTML, 还是 JSON 字符串。

使用字符串可视化工具,可以方便直观的查看字符串是否存在格式错误。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30595
赞同 0
评论 0 条
prtyaaL2
粉丝 1 发表 2553 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2951
【软件正版化】软件正版化工作要点  2872
统信UOS试玩黑神话:悟空  2833
信刻光盘安全隔离与信息交换系统  2728
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1261
grub引导程序无法找到指定设备和分区  1226
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  165
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  163
点击报名 | 京东2025校招进校行程预告  163
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  159
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
我有15积分有什么用? 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!