예제 #1
0
파일: Process.cs 프로젝트: pusp/o2platform
        private void ExitProcessEventHandler(Object sender, CorProcessEventArgs e)
        {
            OriginalMDbgMessages.WriteLine("ManagedCallback::ExitProcess");
            CleanAfterProcessExit();
            if (InternalHandleRawMode(ManagedCallbackType.OnProcessExit, e))
                return;

            if (HandleCustomPostCallback(ManagedCallbackType.OnProcessExit, e))
                return;

            e.Continue = false;
            InternalSignalRuntimeIsStopped(null, new ProcessExitedStopReason());
        }
예제 #2
0
파일: Process.cs 프로젝트: pusp/o2platform
        private void ControlCTrapEventHandler(Object sender, CorProcessEventArgs e)
        {
            OriginalMDbgMessages.WriteLine("ManagedCallback::ControlCTrap");
            if (InternalHandleRawMode(ManagedCallbackType.OnControlCTrap, e))
                return;

            e.Continue = false;
            InternalSignalRuntimeIsStopped(null, new ControlCTrappedStopReason());
        }
예제 #3
0
파일: Process.cs 프로젝트: pusp/o2platform
        private void CreateProcessEventHandler(Object sender, CorProcessEventArgs e)
        {
            OriginalMDbgMessages.WriteLine("ManagedCallback::CreateProcess");
            if (InternalHandleRawMode(ManagedCallbackType.OnCreateProcess, e))
                return;

            Debug.Assert(m_corProcess == e.Process);

            if (!m_processAttaching
                && (m_debugMode != DebugModeFlag.Default)
                && (m_debugMode != DebugModeFlag.Enc) // currently we cannot force ignoring native images
                // as would be desirable for ENC.
                )
            {
                CorDebugJITCompilerFlags flags = MapDebugModeToJITCompilerFlags(m_debugMode);
                OriginalMDbgMessages.WriteLine("Setting Desired NGEN compiler flags:" + flags);

                m_corProcess.DesiredNGENCompilerFlags = flags;
            }


            if (HandleCustomPostCallback(ManagedCallbackType.OnCreateProcess, e))
            {
                return;
            }
        }