支持的操作类型
当前调试的 Visual Studio 支持以下事件类型:
异步操作
通知会话调试管理器 (SDM)和 IDE 正在调试的应用程序状态的更改。 这些事件处理在 SDM 和 IDE 中有空时。 ,在事件处理,答案不会发送到调试引擎 (DE)。 IDebugOutputStringEvent2 和 IDebugMessageEvent2 接口是异步操作的示例。
同步事件
通知 SDM 和 IDE 正在调试的应用程序状态的更改。 在这些事件和异步事件之间的唯一区别是答案通过 IDebugEngine2:: ContinueFromSynchronousEvent 方法发送。
,如果需要 DE 继续处理在 IDE 后接收和处理事件,并发送一个同步事件非常有用。
同步终止的事件或停止事件
通知 SDM 和 IDE 正在调试的应用程序停止执行代码。 当通过方法 IDebugEventCallback2:: 事件时发送一个停止点的事件,需要 IDebugThread2 参数。 停止事件通过调用继续到一个下列方法:
接口 IDebugBreakpointEvent2 和 IDebugExceptionEvent2 是停止事件的示例。
备注
异步终止的事件不受支持。它是发送异步终止的事件的错误。
讨论
事件的实际实现取决于 DE 的模型。 其属性取决于发送的每个事件的类型,设置,当您设计、时。 例如,在中,而另一个可发送为一个停止点的事件,一个 DE 可以发送 IDebugProgramCreateEvent2 作为异步操作。
下表指定要程序和线程参数需要事件),以及事件。 所有事件可以是同步的。 事件不需要同步。
备注
IDebugEngine2 接口对于所有事件是必需的。
Event |
IDebugProgram2 |
IDebugThread2 |
停止事件 |
---|---|---|---|
允许,但是,不需 |
允许,但是,不需 |
否 |
|
必需 |
必需 |
是 |
|
允许,但是,不需 |
允许,但是,不需 |
否 |
|
允许,但是,不需 |
允许,但是,不需 |
否 |
|
允许,但是,不需 |
允许,但是,不需 |
否 |
|
必需 |
必需 |
是 |
|
必需 |
必需 |
否 |
|
不允许 |
不允许 |
否 |
|
不允许 |
不允许 |
否 |
|
必需 |
必需 |
是 |
|
允许,但是,不需 |
允许,但是,不需 |
可以是 |
|
必需 |
必需 |
是 |
|
允许,但是,不需 |
允许,但是,不需 |
可以是 |
|
必需 |
必需 |
是 |
|
必需 |
必需 |
是 |
|
允许,但是,不需 |
允许,但是,不需 |
可以是 |
|
必需 |
允许,但是,不需 |
否 |
|
允许,但是,不需 |
允许,但是,不需 |
否 |
|
必需 |
允许,但是,不需 |
否 |
|
必需 |
允许,但是,不需 |
否 |
|
必需 |
允许,但是,不需 |
否 |
|
必需 |
允许,但是,不需 |
否 |
|
允许,但是,不需 |
允许,但是,不需 |
否 |
|
IDebugStopCompleteEvent2 |
必需 |
必需 |
是 |
必需 |
必需 |
是 |
|
允许,但是,不需 |
允许,但是,不需 |
否 |
|
必需 |
必需 |
否 |
|
必需 |
必需 |
否 |
|
允许,但是,不需 |
允许,但是,不需 |
否 |