Visual Studio调试教程中的断点操作
前言
调试技能是衡量程序员水平的重要指标。掌握调试技巧和工具的使用也很重要。
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或者邮箱删除。