操作状态
下面是针对 IDE 会运行的三个架构,例如:
Design mode
Run mode
Break mode
该自定义如何调试在这些模式之间的转换引擎 (DE)是要求您熟悉转换 framework 实现决定。 DE 可能存在也可能不直接实现这些方案。 这些模式实际上是调试开关根据用户操作或事件从 DE 的包架构。 例如,从中断模式的运行模式的转换是由 DE 的一个停止点的事件发起。 从转换中断到运行模式或步进模式由执行操作 (如步骤的用户发起或执行。 有关 DE transitions 的更多信息,请参见 执行控件。
设计模式
,在设置在应用程序中,的调试功能设计模式是调试 Visual Studio 非奔跑的状态。
在设计模式下,只有一些调试功能使用。 开发人员可以选择设置断点或创建监视表达式。 , IDE 在设计模式下时, DE 从不加载或调用。 与 DE 的交互仅发生在运行的和中断模式下。
运行模式
,当程序在 IDE,的调试会话中运行请运行模式发生。 应用程序运行,直到停止,直到命中断点时,或者,直到引发异常。 当应用程序运行到停止, DE transitions 为设计模式中。 当命中断点或引发异常, DE 中断模式的 transitions。
中断模式
,在调试程序的执行挂起时,中断模式时发生。 处于中断时中断模式提供开发人员应用程序的快照并允许开发人员分析应用程序的状态和更改应用程序的运行方式。 开发人员可以查看,并编辑代码,检查或修改数据,重新启动应用程序,结束执行或继续从相同的执行点。
,当 DE 发送一个同步终止的事件时,中断模式中输入。 同步终止的事件,也称为停止事件,通知会话调试管理器 (SDM)和 IDE 正在调试的应用程序停止执行代码。 IDebugBreakpointEvent2 和 IDebugExceptionEvent2 接口是停止事件的示例。
停止事件通过调用继续到下列方法之一,从转换中断模式运行的或步进模式的调试器:
步进模式
步进模式时,会发生操作步骤到下一行代码,或者为,在中,或在函数之外中。 逐句通过调用方法来 IDebugProcess3:: 步骤。 此方法要求 DWORD指定 STEPUNIT 和 STEPKIND 枚举作为输入参数的。
当程序成功单步执行到下一行代码或功能中,也运行到光标或设置断点,回中断模式的自动、转换。