// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
+/**
+ This is the default value of the wxStackWalker::Walk function.
+*/
+#define wxSTACKWALKER_MAX_DEPTH (200)
+
/**
@class wxStackWalker
/**
Constructor does nothing, use Walk() to walk the stack.
*/
- wxStackWalker();
+ wxStackWalker(const char* argv0 = NULL);
/**
Destructor does nothing neither but should be virtual as this class is used as
*/
virtual ~wxStackWalker();
- /**
- This function must be overrided to process the given frame.
- */
- void OnStackFrame(const wxStackFrame& frame);
-
/**
Enumerate stack frames from the current location, skipping the initial
number of them (this can be useful when Walk() is called from some known
notice that Walk() frame itself is not included if skip = 1).
Up to @a maxDepth frames are walked from the innermost to the outermost one.
+ It defaults to ::wxSTACKWALKER_MAX_DEPTH.
*/
- virtual void Walk(size_t skip = 1, size_t maxDepth = 200);
+ virtual void Walk(size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
/**
Enumerate stack frames from the location of uncaught exception.
This method can only be called from wxApp::OnFatalException().
Up to @a maxDepth frames are walked from the innermost to the outermost one.
+ It defaults to ::wxSTACKWALKER_MAX_DEPTH.
+ */
+ virtual void WalkFromException(size_t maxDepth = wxSTACKWALKER_MAX_DEPTH);
+
+protected:
+ /**
+ This function must be overrided to process the given frame.
*/
- virtual void WalkFromException(size_t maxDepth = 200);
+ virtual void OnStackFrame(const wxStackFrame& frame) = 0;
};
Return @true if at least some values could be retrieved.
This function currently is only implemented under Win32 and requires a PDB file.
*/
- bool GetParam(size_t n, wxString* type, wxString* name,
- wxString* value) const;
+ virtual bool GetParam(size_t n, wxString* type, wxString* name,
+ wxString* value) const;
/**
Return the number of parameters of this function (may return 0 if we