DebuggerEventsClass.OnContextChanged 事件
此 API 支持 .NET Framework 基础结构,不适合在代码中直接使用。
只要通过用户界面或自动化模型更改当前进程、程序、线程或堆栈,就会被激发。
命名空间: EnvDTE
程序集: EnvDTE(在 EnvDTE.dll 中)
语法
声明
Public Overridable Event OnContextChanged As _dispDebuggerEvents_OnContextChangedEventHandler
public virtual event _dispDebuggerEvents_OnContextChangedEventHandler OnContextChanged
public:
virtual event _dispDebuggerEvents_OnContextChangedEventHandler^ OnContextChanged {
void add (_dispDebuggerEvents_OnContextChangedEventHandler^ value);
void remove (_dispDebuggerEvents_OnContextChangedEventHandler^ value);
}
abstract OnContextChanged : IEvent<_dispDebuggerEvents_OnContextChangedEventHandler,
EventArgs>
override OnContextChanged : IEvent<_dispDebuggerEvents_OnContextChangedEventHandler,
EventArgs>
JScript 不支持事件。
实现
_dispDebuggerEvents_Event.OnContextChanged
示例
下面的示例演示如何使用 OnContextChanged 事件。
测试此事件:
打开目标应用程序。
运行外接程序。
观察消息框:“事件已附加。”
设置一个断点,然后在调试模式下运行目标应用程序。
应用程序在断点停止后,停止调试器。
观察消息框:“调试器进入上下文更改模式”。
// Place the following code in the Exec method of the add-in:
EnvDTE.DebuggerEvents debugEvents = applicationObject.Events.DebuggerEvents;
debugEvents.OnContextChanged +=
new _dispDebuggerEvents_OnContextChangedEventHandler(DebuggerEvents.ContextHandler);
// Place the following Event handler code in the add-in:
// Needed to activate event handlers in Connect.Exec.
public static void StartEvents(DTE dte)
{
System.Windows.Forms.MessageBox.Show("Events are attached.");
}
public static void ContextHandler(EnvDTE.Process newProc,
EnvDTE.Program newProg, EnvDTE.Thread newThread, EnvDTE.StackFrame newStkFrame)
{
System.Windows.Forms.MessageBox.Show("Debugger enters context changed mode.");
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。