public ICorDebugFrame Next() { ICorDebugFrame[] corFrames = new ICorDebugFrame[1]; uint framesFetched = this.Next(1, corFrames); if (framesFetched == 0) { return null; } else { return corFrames[0]; } }
public void Exception2(ICorDebugAppDomain pAppDomain, ICorDebugThread pThread, ICorDebugFrame pFrame, uint nOffset, CorDebugExceptionCallbackType exceptionType, uint dwFlags) { ManagedCallback managedCallback = GetProcessCallbackInterface("Exception2", pAppDomain); if (managedCallback != null) { managedCallback.Exception2(pAppDomain, pThread, pFrame, nOffset, exceptionType, dwFlags); } }
public void InterceptCurrentException(ICorDebugFrame pFrame) { this.WrappedObject.InterceptCurrentException(pFrame.WrappedObject); }
public void Exception2(ICorDebugAppDomain pAppDomain, ICorDebugThread pThread, ICorDebugFrame pFrame, uint nOffset, CorDebugExceptionCallbackType exceptionType, uint dwFlags) { EnterCallback(PausedReason.Exception, "Exception2 (type=" + exceptionType.ToString() + ")", pThread); // This callback is also called from Exception(...)!!!! (the .NET 1.1 version) // Whatch out for the zeros and null! // Exception -> Exception2(pAppDomain, pThread, null, 0, exceptionType, 0); process.SelectedThread.CurrentExceptionType = (ExceptionType)exceptionType; if (ExceptionType.DEBUG_EXCEPTION_UNHANDLED != (ExceptionType)exceptionType) { // Handled exception if (process.PauseOnHandledException) { ExitCallback_Paused(); } else { ExitCallback_Continue(); } } else { // Unhandled exception ExitCallback_Paused(); } }
public override bool Equals(object o) { ICorDebugFrame casted = o as ICorDebugFrame; return((casted != null) && (casted.WrappedObject == wrappedObject)); }
public void Exception2(ICorDebugAppDomain pAppDomain, ICorDebugThread pThread, ICorDebugFrame pFrame, uint nOffset, CorDebugExceptionCallbackType exceptionType, uint dwFlags) { EnterCallback(PausedReason.Exception, "Exception2 (type=" + exceptionType.ToString() + ")", pThread); // This callback is also called from Exception(...)!!!! (the .NET 1.1 version) // Watch out for the zeros and null! // Exception -> Exception2(pAppDomain, pThread, null, 0, exceptionType, 0); process.SelectedThread.CurrentException = new Exception(new Value(process, new Expressions.CurrentExceptionExpression(), process.SelectedThread.CorThread.CurrentException)); process.SelectedThread.CurrentException_DebuggeeState = process.DebuggeeState; process.SelectedThread.CurrentExceptionType = (ExceptionType)exceptionType; process.SelectedThread.CurrentExceptionIsUnhandled = (ExceptionType)exceptionType == ExceptionType.Unhandled; if (process.SelectedThread.CurrentExceptionIsUnhandled || process.PauseOnHandledException) { pauseOnNextExit = true; } ExitCallback(); }