From 7bfb48d6abb248d9739281ae46f8e9f52fcd16e3 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sat, 20 Dec 2014 14:45:08 +0100 Subject: cleanup --- src/shared/stackdata.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/shared/stackdata.h (limited to 'src/shared/stackdata.h') diff --git a/src/shared/stackdata.h b/src/shared/stackdata.h new file mode 100644 index 00000000..7151699c --- /dev/null +++ b/src/shared/stackdata.h @@ -0,0 +1,50 @@ +#ifndef STACKDATA_H +#define STACKDATA_H + + +#include +#include + + +namespace MOShared { + + +class StackData { + friend bool operator==(const StackData &LHS, const StackData &RHS); + friend bool operator<(const StackData &LHS, const StackData &RHS); +public: + + StackData(); + StackData(const char *function, int line); + + std::string toString() const; + +private: + + void load_modules(HANDLE process, DWORD processID); + + void initTrace(); + +private: + + static const int FRAMES_TO_SKIP = 1; + static const int FRAMES_TO_CAPTURE = 20; + +private: + + LPVOID m_Stack[FRAMES_TO_CAPTURE]; + USHORT m_Count; + std::string m_Function; + int m_Line; + +}; + + +bool operator==(const StackData &LHS, const StackData &RHS); + +bool operator<(const StackData &LHS, const StackData &RHS); + +} // namespace MOShared + + +#endif // STACKDATA_H -- cgit v1.3.1