void CHumanInterface::HardCrash (const CString &sProgramState) // HardCrash // // Report an error { CString sSessionMessage; try { if (m_pCurSession) m_pCurSession->HIReportHardCrash(&sSessionMessage); } catch (...) { sSessionMessage = CONSTLIT("Unable to obtain crash report from session."); } CString sMessage = strPatternSubst(CONSTLIT( "Unable to continue due to program error.\r\n\r\n" "program state: %s\r\n" "%s" "\r\n\r\nPlease contact [email protected] with a copy of Debug.log and your save file. " "We are sorry for the inconvenience.\r\n"), sProgramState, sSessionMessage ); kernelDebugLogMessage(sMessage.GetASCIIZPointer()); ShowHardCrashSession(CONSTLIT("Transcendence System Crash"), sMessage); }
void CHumanInterface::HardCrash (const CString &sProgramState) // HardCrash // // Report an error { CString sSessionMessage; try { if (m_pCurSession) m_pCurSession->HIReportHardCrash(&sSessionMessage); } catch (...) { sSessionMessage = CONSTLIT("Unable to obtain crash report from session."); } CString sMessage = strPatternSubst(CONSTLIT( "Unable to continue due to program error.\r\n\r\n" "program state: %s\r\n" "%s" "\r\n\r\nPlease contact [email protected] with a copy of Debug.log and your save file. " "We are sorry for the inconvenience.\r\n"), sProgramState, sSessionMessage ); kernelDebugLogMessage(sMessage); ShowHardCrashSession(CONSTLIT("Transcendence System Crash"), sMessage); // Ask the controller to post a crash report CString *pCrashReport = new CString(::kernelGetSessionDebugLog()); if (HICommand(CONSTLIT("cmdPostCrashReport"), pCrashReport) == ERR_NOTFOUND) delete pCrashReport; }