A-A+

Visual Studio中的断点:命中计数 调用堆栈函数 条件断点

2014年06月08日 编程 暂无评论 阅读 1,647 次
摘要:

断点:在VS 调试器中使用命中计数,调用堆栈函数,条件来在某时某位置停下来。主要内容:在任意位置停下,设置断点,使用断点的高级功能,使用代码表达式来设置断点条件,使用设备/进程/线程等来设置断点条件,数据断点,使用追踪点打印到输出窗口等。

断点

在VS 调试器中使用命中计数,调用堆栈函数,条件来在某时某位置停下来

Breakpoints: Use Hit Counts, Call Stack Functions, and Conditions to Break When and Where You Want in the Visual Studio Debugger

翻译自MSDN,本人补充了部分图片。

在任意位置停下

除了标准断点,VS调试器允许你在返回到某个函数时停下。如果你怀疑循环有问题,你可以设置循环指定次数后停下。你可以使用代码表达式指定一个断点条件,条件满足时停下。在断点窗口,你可以管理所有的断点。

设置断点

在调用堆栈中设置断点:

bp_callstack

在汇编代码中设置断点:

打开反汇编窗口(Debug/Windows/Disassembly)。

bp_disassembly

使用断点的高级功能:

在调用堆栈窗口或者反汇编窗口中,右键可看到更多功能(Location/Condition/Hit Count/Filter/When Hit/Edit Labels/Export)。

指定命中次数:可以指定某个断点在命中次数满足某些条件时中断。

bp_hitcount

使用代码表达式来设置断点条件:

bp_code_exp_cond

使用设备/进程/线程等来设置断点条件:

bp_machine

数据断点:

bp_databp

数据断点在一下情况下无效:

正在调试的进程没有写这块内存;这块内存被多个进程共享;这块内存在内核态被访问。

使用追踪点打印到输出窗口

bp_trace

断点的一些问题

同名文件,可以在断点的location(位置)设置是哪一个。

 

 

给我留言