VS调试技巧

简介: VS调试技巧

本篇文章主要是详细介绍vs中常见的快捷键,以辅助我们更好地debug。

F9:创建断点和取消断点,以辅助我们更好地观察程序运行。

比如在这个程序中,我们认为他在循环以外的内容都没有错误,我们只需要修改最后的内容。这时我们就可以在最后的位置打上断点。

此时我们可以使程序运行起来,然后程序运行到断点的位置会停止,然后我们可以按F11或F10运行程序来观察我们想观察的数据。

但是如果在第10行的位置也按一个F9,程序会不会来到16行呢? 答案是不会,F5的作用是让它来到执行逻辑的下一个断点处。

值得一提的是,还可以对断点进行编辑。右击断点,点击操作:

我们可以对断点进行各种各样的操作,比如让它满足某个条件才执行。

当我们只是想让程序运行起来,我们应该按CTRL+F5。

除了这些快捷键,我们还能查看到VS中还有别的快捷键,所以我们可以来探索探索!

我们可以看一下调试窗口中的一些功能:

在debug x86环境下,我们调试这一个代码:

(关于x86和x64的环境有什么区别,这里再插播一句)

不难看出,这个代码中循环越界访问了,那么为什么打印出来的结果是死循环呢。

通过监视窗口,我们可以观察到arr[12]中初始化为0后,i也初始化为0。再次运行,我们就会发现,随着arr[12]的增大,i的值也在增大,那么,这是为什么呢?

当我们&arr[12]和&i的时候,我们就会发现这两个的值一模一样。当arr[12]快要变成13的时候,arr[i]又将它初始化为0,i永远不可能变成13,这个循环永远不可能停下来,这样的现象使其永远不可能停止下来。

局部变量是习惯性放到栈区上的,先放到高地址,再放入低地址。i先创建,就在高地址上申请了一块空间。数组地址的特点:随着下标的增长,地址是由低向高变化的。

如上图初始化,那么就会使其初始化到i的时候将其初始化为0。

i小于等于11或10都不会覆盖到i。中间不一定都是两个空格。

在数组传参,调试进⼊函数,如何在监视窗⼝观察数组的内容: 数组名,n 的形式。

 

相关文章
|
6月前
|
程序员
调试技巧vs2022
调试技巧vs2022
|
网络协议 C++
继续分享 5 个实用的 vs 调试技巧
继续分享 5 个实用的 vs 调试技巧
|
搜索推荐 C++ 容器
你很可能需要知道这个调试小技巧
你很可能需要知道这个调试小技巧
|
5月前
|
NoSQL 程序员 Linux
实用调试技巧(1)
实用调试技巧(1)
41 7
|
11月前
|
安全 程序员 Windows
实用调试技巧
实用调试技巧
84 0
|
程序员 编译器
实用调试技巧(上)
实用调试技巧
|
C++ 索引
再分享 5 个 vs 调试技巧
再分享 5 个 vs 调试技巧
5 个非常实用的 vs 调试技巧
5 个非常实用的 vs 调试技巧