X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7beafee9423f4cfa2fb08c8c5ff579f884314c79..7121be53c73b6ece3b09559e142cd7f71d1961a1:/include/wx/stackwalk.h diff --git a/include/wx/stackwalk.h b/include/wx/stackwalk.h index 5e8beacc91..298317ef7d 100644 --- a/include/wx/stackwalk.h +++ b/include/wx/stackwalk.h @@ -54,6 +54,9 @@ public: // return the instruction pointer offset from the start of the function size_t GetOffset() const { ConstCast()->OnGetName(); return m_offset; } + // get the module this function belongs to (not always available) + wxString GetModule() const { ConstCast()->OnGetName(); return m_module; } + // return true if we have the filename and line number for this frame bool HasSourceLocation() const { return !GetFileName().empty(); } @@ -101,7 +104,9 @@ protected: size_t m_level; wxString m_name, + m_module, m_filename; + size_t m_line; void *m_address; @@ -118,6 +123,9 @@ public: // ctor does nothing, use Walk() to walk the stack wxStackWalkerBase() { } + // dtor does nothing neither but should be virtual + virtual ~wxStackWalkerBase() { } + // enumerate stack frames from the current location, skipping the initial // number of them (this can be useful when Walk() is called from some known // location and you don't want to see the first few frames anyhow; also @@ -136,6 +144,10 @@ protected: #ifdef __WXMSW__ #include "wx/msw/stackwalk.h" +#elif defined(__UNIX__) + #include "wx/unix/stackwalk.h" +#else + #error "wxStackWalker is not supported, set wxUSE_STACKWALKER to 0" #endif #endif // wxUSE_STACKWALKER