X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/60431236a330a9f3f1d071719e818812820b4d0c..ce7208d49d5ce2ca1dc0b3b83f14f1d04f29c4bf:/src/msw/stackwalk.cpp?ds=sidebyside diff --git a/src/msw/stackwalk.cpp b/src/msw/stackwalk.cpp index d1ee809967..8bdf7d4021 100644 --- a/src/msw/stackwalk.cpp +++ b/src/msw/stackwalk.cpp @@ -128,15 +128,15 @@ wxStackFrame::GetParam(size_t n, void wxStackFrame::OnParam(PSYMBOL_INFO pSymInfo) { - m_paramTypes.Add(_T("")); + m_paramTypes.Add(wxEmptyString); m_paramNames.Add(wxString::FromAscii(pSymInfo->Name)); // if symbol information is corrupted and we crash, the exception is going // to be ignored when we're called from WalkFromException() because of the - // except handler there returning EXCEPTION_CONTINUE_EXECUTION, but we'd be - // left in an inconsistent state, so deal with it explicitely here (even if - // normally we should never crash, of course...) + // exception handler there returning EXCEPTION_CONTINUE_EXECUTION, but we'd + // be left in an inconsistent state, so deal with it explicitly here (even + // if normally we should never crash, of course...) #ifdef _CPPUNWIND try #else @@ -154,7 +154,7 @@ void wxStackFrame::OnParam(PSYMBOL_INFO pSymInfo) __except ( EXCEPTION_EXECUTE_HANDLER ) #endif { - m_paramValues.Add(_T("")); + m_paramValues.Add(wxEmptyString); } } @@ -218,8 +218,12 @@ void wxStackWalker::WalkFrom(const CONTEXT *pCtx, size_t skip) { if ( !wxDbgHelpDLL::Init() ) { - wxLogError(_("Failed to get stack backtrace:\n%s"), + // don't log a user-visible error message here because the stack trace + // is only needed for debugging/diagnostics anyhow and we shouldn't + // confuse the user by complaining that we couldn't generate it + wxLogDebug(_T("Failed to get stack backtrace: %s"), wxDbgHelpDLL::GetErrorMessage().c_str()); + return; } // according to MSDN, the first parameter should be just a unique value and @@ -344,7 +348,61 @@ void wxStackWalker::Walk(size_t skip) #else // !wxUSE_DBGHELP -// TODO: implement stubs +// ============================================================================ +// stubs +// ============================================================================ + +// ---------------------------------------------------------------------------- +// wxStackFrame +// ---------------------------------------------------------------------------- + +void wxStackFrame::OnGetName() +{ +} + +void wxStackFrame::OnGetLocation() +{ +} + +bool +wxStackFrame::GetParam(size_t WXUNUSED(n), + wxString * WXUNUSED(type), + wxString * WXUNUSED(name), + wxString * WXUNUSED(value)) const +{ + return false; +} + +void wxStackFrame::OnParam(_SYMBOL_INFO * WXUNUSED(pSymInfo)) +{ +} + +void wxStackFrame::OnGetParam() +{ +} + +// ---------------------------------------------------------------------------- +// wxStackWalker +// ---------------------------------------------------------------------------- + +void +wxStackWalker::WalkFrom(const CONTEXT * WXUNUSED(pCtx), size_t WXUNUSED(skip)) +{ +} + +void +wxStackWalker::WalkFrom(const _EXCEPTION_POINTERS * WXUNUSED(ep), + size_t WXUNUSED(skip)) +{ +} + +void wxStackWalker::WalkFromException() +{ +} + +void wxStackWalker::Walk(size_t WXUNUSED(skip)) +{ +} #endif // wxUSE_DBGHELP/!wxUSE_DBGHELP