Я пытаюсь разработать надстройку для VS2010, которая перехватывает событие DebuggerEvents.OnExceptionThrown, но по какой-то причине оно никогда не обрабатывается.Вот некоторый простой код, который не работает:
private DebuggerEvents debuggerEvents;
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
//Boilerplate code snipped out
if (debuggerEvents == null)
{
//This fails whether the cast is there, or if I just let it use DebuggerEvents
debuggerEvents = (DebuggerEventsClass)_applicationObject.Events.DebuggerEvents;
debuggerEvents.OnExceptionThrown += new _dispDebuggerEvents_OnExceptionThrownEventHandler(handler);
}
}
public void handler(string etype, string name, int code, string desc, ref dbgExceptionAction eAction)
{
Trace.WriteLine("here");
}
Обработчик метода никогда не вызывается.
Я пробовал несколько различных способов сделать выше, но ни один из них, кажется, не работает,Есть ли что-то, что я делаю не так?Это ошибка в VS2010?
РЕДАКТИРОВАТЬ: я должен отметить, что использование этого же метода работает для других событий отладчика, таких как OnEnterBreakMode.