Пример #1
0
        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();
            }
        }
Пример #2
0
        public void Exception2(ICorDebugAppDomain pAppDomain, ICorDebugThread pThread, ICorDebugFrame pFrame, uint nOffset, CorDebugExceptionCallbackType exceptionType, uint dwFlags)
        {
            ManagedCallback managedCallback = GetProcessCallbackInterface(pAppDomain);

            if (managedCallback != null)
            {
                managedCallback.Exception2(pAppDomain, pThread, pFrame, nOffset, exceptionType, dwFlags);
            }
        }