]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/stackwalk.cpp
don't crash when trying to dump struct members which are NULL pointers
[wxWidgets.git] / src / msw / stackwalk.cpp
index 3872361952975c2376665fd5596b144b3ad16af2..5a12a002b79ed8ab458c3f0544f7f55111730684 100644 (file)
 
 #if wxUSE_STACKWALKER
 
+#ifndef WX_PRECOMP
+    #include "wx/string.h"
+#endif
+
 #include "wx/stackwalk.h"
 
 #include "wx/msw/debughlp.h"
@@ -124,7 +128,7 @@ 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));
 
@@ -150,7 +154,7 @@ void wxStackFrame::OnParam(PSYMBOL_INFO pSymInfo)
     __except ( EXCEPTION_EXECUTE_HANDLER )
 #endif
     {
-        m_paramValues.Add(_T(""));
+        m_paramValues.Add(wxEmptyString);
     }
 }
 
@@ -164,7 +168,7 @@ EnumSymbolsProc(PSYMBOL_INFO pSymInfo, ULONG WXUNUSED(SymSize), PVOID data)
     {
         frame->OnParam(pSymInfo);
     }
-    
+
     // return true to continue enumeration, false would have stopped it
     return TRUE;
 }
@@ -340,7 +344,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