MDAInfo 结构

提供有关 Event_MDAFired 事件的详细信息,该事件触发托管调试助手 (MDA) 的创建。

typedef struct _MDAInfo {
    LPCWSTR  lpMDACaption;
    LPCWSTR  lpMDAMessage
} MDAInfo;

成员

成员

说明

lpMDACaption

当前 MDA 的标题。 该标题描述触发 Event_MDAFired 事件的错误种类。

lpMDAMessage

当前 MDA 提供的输出消息。

备注

托管调试助手 (MDA) 是与公共语言运行时 (CLR) 结合使用的调试助手,用于执行一些任务,如识别运行时执行引擎中的无效条件或转储有关引擎状态的附加信息。 MDA 可生成有关事件的 XML 消息,这些消息很难通过其他方法来捕获。 在对托管和未托管代码间的转换进行调试时,这些信息非常有用。

当激发触发创建 MDA 的事件时,运行时将执行下列步骤:

  • 如果宿主尚未通过调用 ICLROnEventManager::RegisterActionOnEvent 来注册 IActionOnCLREvent 实例以得到 Event_MDAFired 事件通知,则运行时将继续其默认的非宿主行为。

  • 如果宿主已注册此事件的处理程序,运行时将查看调试器是否附加到该进程。 如果调试器已附加到该进程,运行时将强行进入调试器。 调试器继续时,将调用主机。 如果没有附加调试器,则运行时调用 IActionOnCLREvent::OnEvent,并将一个指向 MDAInfo 实例的指针作为 data 参数传递出去。

主机可选择激活 MDA 以及当激活 MDA 时得到通知。 这使主机可以重写默认行为和中止引发事件的托管线程,以防止损坏进程状态。 有关使用 MDA 的更多信息,请参见使用托管调试助手诊断错误

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**MSCorEE.idl

**库:**作为一项资源包含在 MSCorEE.dll 中

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

请参见

概念

使用托管调试助手诊断错误

其他资源

承载结构