操作模式

IDE 可以运行以下三种模式:

  • 设计模式

  • 运行模式

  • 中断模式

    这些模式之间的自定义调试引擎 (DE) 转换方式是一个需要熟悉转换机制的实现决策。 DE 可能直接实现这些模式,也可能不实现。 这些模式实际上是基于用户操作或来自 DE 的事件进行切换的调试包模式。 例如,从运行模式到中断模式的转换是由 DE 发出的停止事件触发的。 从中断模式转换到运行模式或步进模式是由用户执行操作(如步进或执行)触发的。 有关 DE 转换的详细信息,请参阅执行控制。

设计模式

设计模式是 Visual Studio 调试的非运行状态,在此期间可以在应用程序中设置调试功能。

在设计模式下,只使用少数调试功能。 开发人员可能选择设置断点或创建监视表达式。 当 IDE 处于设计模式时,永远不会加载或调用 DE。 与 DE 的交互仅发生在运行模式和中断模式下。

运行模式

当程序在 IDE 的调试会话中运行时,即进入运行模式。 运行模式发生在程序在 IDE 的调试会话中运行时。 应用程序将持续运行,直到终止、遇到断点或引发异常。 当遇到断点或引发异常时,DE 将切换到中断模式。

中断模式

中断模式发生在调试程序的执行被暂停时。 中断模式为开发人员提供了应用程序在中断时的快照,并允许开发人员分析应用程序的状态以及更改应用程序的运行方式。 开发人员可以查看和编辑代码、检查或修改数据、重新启动应用程序、结束执行或从同一点继续执行。

当中断事件由 DE 发送时,将进入中断模式。 同步中断事件(也称为中断事件)会通知会话调试管理器 (SDM) 和 IDE,被调试的应用程序已停止执行代码。 IDebugBreakpointEvent2IDebugExceptionEvent2 接口是中断事件的示例。

以下方法的调用将继续中断事件,使调试器从中断模式切换到运行或步进模式:

步进模式

步进模式发生在程序步进到下一行代码时,或进入、跳过或退出函数时。 通过调用 Step 方法执行步进。 该方法需要指定 STEPUNITSTEPKIND 枚举作为输入参数的 DWORD

当程序成功步进到下一行代码或进入函数,或运行至光标处或到达设置的断点时,DE 将自动返回到中断模式。

另请参阅