手机版

Visual Studio调试教程中的断点操作

时间:2021-08-29 来源:互联网 编辑:宝哥软件园 浏览:

前言

调试技能是衡量程序员水平的重要指标。掌握调试技巧和工具的使用也很重要。

Visual Studio调试器帮助您观察程序的运行时行为并发现问题。此调试器可用于所有Visual Studio编程语言及其关联的库。使用调试器时,您可以中断程序的执行来检查代码、检查和编辑变量、查看寄存器、查看从源代码创建的指令以及查看应用程序占用的内存空间。

断点可以说是调试过程中最常用的功能。

但是最熟悉和最常用的断点可能是常见的断点。其实关于断点,Visual Studio有很多高级功能,有些只是调试工具。

本教程将介绍在Visual Studio中播放断点的更高级方法。

1.普通断点

为了保证内容的完整性,就要说普通断点。

设置常用断点的方法很简单,就是在代码行左列的灰色区域点击或者将光标放在一个代码行上,然后按F9。

如上所示,左列中的红点表示断点。

按F5,调试器将在此停止。

2.条件断点

与普通断点不同,程序每次执行时都会停止。条件断点的含义是调试器只有在满足条件时才会在这里停止。

设置条件断点的一般方法是右键选择红点处的条件,或将光标放在红点处,等待齿轮图标出现后点击。

条件断点设置窗口如下。

有三种类型的条件断点:

条件表达式命中计数过滤器条件表达式

还有两种类型的条件表达式:

是真的吗

如下图所示,这里设置的条件是当testInt==4为真时命中断点。

变更时(变更时)

如下图所示,这里设置的条件是:testInt改变时命中断点。

点击次数

调试循环语句时,命中计数非常有用。

例如,如果您怀疑程序的错误点发生在n个周期或某些周期之后,您可以将cycle语句中的命中次数设置为在某些时间或某些周期停止,而不是每次都停止。

如下图所示,设置的条件是:让它每隔一个周期中断一次。

大小测定器

过滤器用于限制断点命中的设备、进程和线程。

例如,在多线程程序中,您不必手动获取线程标识符,但是您可以将其设置为仅当线程通过过滤器在此执行时停止。

筛选器表达式的用法是:

机器名称='名称'

ProcessId=值

ProcessName='name '

ThreadId=值

ThreadName='name '

运算符(与)||(或)!(非)连接。

3.跟踪断点

在断点设置窗口中,除了条件,我们还可以看到动作选项框。

动作的意义是设置一个跟踪点。

Tracepoint相当于一个带有Trace函数的临时断点,它将消息打印到“输出”窗口。

选中后面的继续执行,这意味着当跟踪点命中时,调试器不会停止,否则它将在这里停止。在这两种情况下,都会打印消息。

以下关键字可用作消息。

4.函数断点

在“调试”菜单下,单击“新建断点”以创建两种类型的断点:函数断点和数据断点。

函数断点由函数名设置,程序执行函数时断点被破坏。

5.数据断点

紧接着,让我们在这里讨论数据断点。

数据断点的含义是当地址的指定字节在某处发生变化时中断程序。只能在中断模式下设置。

地址栏可以使用特定的内存地址或表达式来表示内存地址。例如,当变量avar的内容发生变化时,可以使用avar来中断程序。

6.在调用堆栈窗口中设置断点

也许你不知道,你可以在调用栈窗口设置断点。

当您查看函数的调用关系时,您希望在这些列中的函数中快速设置断点,这实际上非常简单:在“调用堆栈”窗口中,单击要设置断点的函数行,然后按F9。

7.在反汇编窗口中设置断点

您也可以在“反汇编”窗口中设置断点。但前提必须是Break Mode。

在反汇编窗口中设置断点的方式与在源代码中设置断点相同。只需点击代码左栏的边缘,就会出现红点。

8.断点管理

我们之前设置的所有断点都会出现在“断点”窗口中。

在这里,您可以管理所有断点,如批量启用、禁用、删除等。您还可以在程序运行期间检查断点的命中状态。

当您的项目非常大并且在调试期间设置了许多断点时,这非常有用。

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。

版权声明:Visual Studio调试教程中的断点操作是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。