X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eaff0f0d3f7828c2acd9ebde4979acc0b3fa43b5..da8b1d4b3b535aba94d04494f5b6e2b3e47901ee:/include/wx/msw/stackwalk.h diff --git a/include/wx/msw/stackwalk.h b/include/wx/msw/stackwalk.h index 9c794e7db8..e376ef356c 100644 --- a/include/wx/msw/stackwalk.h +++ b/include/wx/msw/stackwalk.h @@ -12,6 +12,8 @@ #ifndef _WX_MSW_STACKWALK_H_ #define _WX_MSW_STACKWALK_H_ +#include "wx/arrstr.h" + // these structs are declared in windows headers struct _CONTEXT; struct _EXCEPTION_POINTERS; @@ -27,7 +29,7 @@ class WXDLLIMPEXP_BASE wxStackFrame : public wxStackFrameBase { private: wxStackFrame *ConstCast() const - { return wx_const_cast(wxStackFrame *, this); } + { return const_cast(this); } size_t DoGetParamCount() const { return m_paramTypes.GetCount(); } @@ -63,7 +65,7 @@ protected: // helper for debug API: it wants to have addresses as DWORDs size_t GetSymAddr() const { - return wx_reinterpret_cast(size_t, m_address); + return reinterpret_cast(m_address); } private: @@ -88,13 +90,15 @@ public: // only wxStackWalker(const char * WXUNUSED(argv0) = NULL) { } - virtual void Walk(size_t skip = 1); - virtual void WalkFromException(); + virtual void Walk(size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH); +#if wxUSE_ON_FATAL_EXCEPTION + virtual void WalkFromException(size_t maxDepth = wxSTACKWALKER_MAX_DEPTH); +#endif // wxUSE_ON_FATAL_EXCEPTION // enumerate stack frames from the given context - void WalkFrom(const _CONTEXT *ctx, size_t skip = 1); - void WalkFrom(const _EXCEPTION_POINTERS *ep, size_t skip = 1); + void WalkFrom(const _CONTEXT *ctx, size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH); + void WalkFrom(const _EXCEPTION_POINTERS *ep, size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH); }; #endif // _WX_MSW_STACKWALK_H_