内容简介:调试是一项非常重要的技能,熟练掌握调试技巧有助于我们快速解决问题。我们可以通过调用堆栈窗口查看当前线程的调用栈,局限是只能查看某个线程的调用栈,要想查看每个线程的调用栈得切来切去的,太麻烦。如果我们想调试的时候,通过
调试是一项非常重要的技能,熟练掌握调试技巧有助于我们快速解决问题。 vs
是我们平时编写代码时的首选工具,相信也是大多数小伙伴儿的首选调试工具,因为实际操作起来太方便了,代码编写完,一个 F5
就可以愉快的调试了。今天我想向大家推荐几个非常值得了解 vs
调试技巧。话不多说,我们开始吧。
并行堆栈
作用简介:
我们可以通过调用堆栈窗口查看当前线程的调用栈,局限是只能查看某个线程的调用栈,要想查看每个线程的调用栈得切来切去的,太麻烦。如果我们想 同时 查看多个线程的调用情况,我们可以使用并行堆栈窗口。顾名思义,并行堆栈窗口可以同时查看多个线程的调用栈。如果程序中的某个线程死循环了,我们想确定是哪个,这时候可以中断到 vs
中,然后打开并行堆栈窗口进行查看,基本上可以很快定位到出问题的代码。
打开方式:
调试的时候,通过 调试 -> 窗口 -> 并行堆栈
即可打开。在 vs2013
中对应的快捷键是 ctrl + shift + d, s
。
注意是按住 ctrl + shift
,再按 d
,松开 ctrl, shift
后再按 s
。
说明:
我个人不太喜欢 vs
默认的中文翻译,我认为调用堆栈,并行堆栈翻译的并不准确, Call Stack
直译为调用栈就很好,因为函数调用跟堆一点关系都没有,而且 stack
直译过来也是栈, heap
才是堆,不知道为什么会把调用栈翻译成堆栈。希望有知道的小伙伴儿留言指点。
并行监视
作用简介:
相信,大家经常使用监视窗口查看变量,当我们想查看每个栈帧的局部变量的时候,我们需要切换到对应栈帧才能看到对应的值,是不是比较麻烦?并行监视窗口了解下?
打开方式:
调试的时候,通过 调试 -> 窗口 -> 并行监视 -> 并行监视1/2/3/4
即可打开对应的并行监视窗口。和监视窗口一样可以同时打开四个。
在 vs2013
中对应的快捷键是 ctrl + shift + d, 1/2/3/4
。注意是按住 ctrl + shift
,再按 d
,松开 ctrl, shift
后再按 1/2/3/4
。
自动窗口
作用简介:
除了可以查看函数参数,局部变量的值意外,更有用的功能是查看函数调用的返回值。
打开方式:
调试的时候,通过 调试 -> 窗口 -> 自动窗口
即可打开。在 vs2013
中对应的快捷键是 ctrl + alt + v, s
。注意是按住 ctrl + alt
,再按 v
,松开 ctrl, alt
后再按 s
。
混合调试
作用简介:
当我们需要调试的程序中有 .NET
代码,也有 c++
代码时,开启混合调试非常有必要。
打开方式:
通过 F5
调试时的设置方法。
通过附加进程进行调试时的设置方法。
务必注意:有时候我们设置断点不生效,可以检查一下调试方式是否选对了。如果我们只想调试 C++
代码,可以只勾选 Native
,如果只想调 .NET
代码,可以根据实际情况勾选 Managed(v4.5, v4.0)
或者 Managed(v3.5, v3.0, v2.0)
,如果都想调那就都勾选。
使用断点修改变量的值
作用简介:
相信大家在调试的时候都设置过断点,但是你是否知道我们可以在调试的时候通过断点来改变变量的值?
调查问题时,想手动修改值来验证一下我们的想法是否正确,但是又不想修改代码,也不想中断下来后,手动修改,因为可能需要手动修改 N
次,改过的小伙伴儿应该有体会。我们可以通过这个小技巧来自动帮我们改变变量的值。
注意:
1、 表达式不要加分号!!!
2、 高版本的 vs
才支持, vs2019
亲测有效,其它版本没测试。
注意事项:
1、 程序需要中断到 vs
后,才能执行查看调用栈,观察变量等操作。
2、 不需要的时候,请关闭并行堆栈等窗口,因为刷新信息对调试速度有一定影响,如果觉得 vs
调试速度慢了,可以关闭不必要的窗口。
3、 vs2013
中默认的快捷键设计的比较蛋疼,使用的时候需要注意。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度学习框架PyTorch:入门与实践
陈云 / 电子工业出版社 / 2018-1 / 65
《深度学习框架PyTorch:入门与实践》从多维数组Tensor开始,循序渐进地带领读者了解PyTorch各方面的基础知识。结合基础知识和前沿研究,带领读者从零开始完成几个经典有趣的深度学习小项目,包括GAN生成动漫头像、AI滤镜、AI写诗等。《深度学习框架PyTorch:入门与实践》没有简单机械地介绍各个函数接口的使用,而是尝试分门别类、循序渐进地向读者介绍PyTorch的知识,希望读者对PyT......一起来看看 《深度学习框架PyTorch:入门与实践》 这本书的介绍吧!