#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;
class WXDLLIMPEXP_BASE wxStackWalker : public wxStackWalkerBase
{
public:
- wxStackWalker() { }
+ // we don't use ctor argument, it is for compatibility with Unix version
+ // 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 = 200);
+ virtual void WalkFromException(size_t maxDepth = 200);
// 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 = 200);
+ void WalkFrom(const _EXCEPTION_POINTERS *ep, size_t skip = 1, size_t maxDepth = 200);
};
#endif // _WX_MSW_STACKWALK_H_