X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a44f14cf0c7606d5e6158b17c81ea5e5052f1671..db71eb0640221199170ac9ea83371c2d467fa456:/src/common/debugrpt.cpp diff --git a/src/common/debugrpt.cpp b/src/common/debugrpt.cpp index e9d477c1fa..2391849334 100644 --- a/src/common/debugrpt.cpp +++ b/src/common/debugrpt.cpp @@ -80,8 +80,6 @@ protected: bool m_isOk; }; -#endif // wxUSE_STACKWALKER - // ---------------------------------------------------------------------------- // local functions // ---------------------------------------------------------------------------- @@ -103,16 +101,18 @@ TextElement(wxXmlNode *node, const wxChar *name, const wxString& value) { wxXmlNode *nodeChild = new wxXmlNode(wxXML_ELEMENT_NODE, name); node->AddChild(nodeChild); - nodeChild->AddChild(new wxXmlNode(wxXML_TEXT_NODE, _T(""), value)); + nodeChild->AddChild(new wxXmlNode(wxXML_TEXT_NODE, wxEmptyString, value)); } +#if wxUSE_CRASHREPORT && defined(__INTEL__) + static inline void HexElement(wxXmlNode *node, const wxChar *name, unsigned long value) { TextElement(node, name, wxString::Format(_T("%08lx"), value)); } -#if wxUSE_STACKWALKER +#endif // wxUSE_CRASHREPORT // ============================================================================ // XmlStackWalker implementation @@ -190,10 +190,16 @@ wxDebugReport::wxDebugReport() // of course, this doesn't protect us against malicious users... wxFileName fn; fn.AssignTempFileName(appname); +#if wxUSE_DATETIME m_dir.Printf(_T("%s%c%s_dbgrpt-%lu-%s"), fn.GetPath().c_str(), wxFILE_SEP_PATH, appname.c_str(), wxGetProcessId(), wxDateTime::Now().Format(_T("%Y%m%dT%H%M%S")).c_str()); +#else + m_dir.Printf(_T("%s%c%s_dbgrpt-%lu"), + fn.GetPath().c_str(), wxFILE_SEP_PATH, appname.c_str(), + wxGetProcessId()); +#endif // as we are going to save the process state there use restrictive // permissions @@ -371,7 +377,7 @@ bool wxDebugReport::DoAddLoadedModules(wxXmlNode *nodeModules) size_t len = 0; if ( info.GetAddress(&addr, &len) ) { - HexProperty(nodeModule, _T("address"), (unsigned long)addr); + HexProperty(nodeModule, _T("address"), wxPtrToUInt(addr)); HexProperty(nodeModule, _T("size"), len); } @@ -397,7 +403,7 @@ bool wxDebugReport::DoAddExceptionInfo(wxXmlNode *nodeContext) HexProperty(nodeExc, _T("code"), c.code); nodeExc->AddProperty(_T("name"), c.GetExceptionString()); - HexProperty(nodeExc, _T("address"), (unsigned long)c.addr); + HexProperty(nodeExc, _T("address"), wxPtrToUInt(c.addr)); #ifdef __INTEL__ wxXmlNode *nodeRegs = new wxXmlNode(wxXML_ELEMENT_NODE, _T("registers")); @@ -690,4 +696,3 @@ bool wxDebugReportUpload::DoProcess() #endif // wxUSE_ZIPSTREAM #endif // wxUSE_DEBUGREPORT -