OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
StackWalker.h File Reference
#include <Windows.h>
#include <tchar.h>
#include <vector>
#include <cstddef>
Include dependency graph for StackWalker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  textconv_helper::CA2W_
class  textconv_helper::CW2A_
class  textconv_helper::CW2W_
class  textconv_helper::CA2A_
struct  tagMODULEENTRY32
struct  _MODULEINFO
struct  _tag_MODULE_INFO
struct  tagSTACKINFO
class  CStackWalker

Namespaces

namespace  textconv_helper

Macros

#define MAX_SYMBOL_PATH   1024
#define MAX_MODULE_NAME32   255
#define TH32CS_SNAPMODULE   0x00000008
#define MAX_VERSION_LENGTH   512
#define STACKWALK_MAX_NAMELEN   1024
#define ASSERT(judge)
#define GET_CURRENT_THREAD_CONTEXT(c, contextFlags)

Typedefs

typedef CA2W_ textconv_helper::A2W_
typedef CW2A_ textconv_helper::W2A_
typedef CW2A_ textconv_helper::BSTR2A_
typedef CW2W_ textconv_helper::BSTR2W_
typedef CA2A_ textconv_helper::A2T_
typedef CA2A_ textconv_helper::T2A_
typedef CA2W_ textconv_helper::T2W_
typedef CW2A_ textconv_helper::W2T_
typedef CA2BSTR_ textconv_helper::T2BSTR_
typedef BSTR2A_ textconv_helper::BSTR2T_
typedef A2W_ textconv_helper::A2OLE_
typedef T2W_ textconv_helper::T2OLE_
typedef CW2W_ textconv_helper::W2OLE_
typedef W2A_ textconv_helper::OLE2A_
typedef W2T_ textconv_helper::OLE2T_
typedef CW2W_ textconv_helper::OLE2W_
typedef struct tagMODULEENTRY32 MODULEENTRY32
typedef struct _MODULEINFO MODULEINFO
typedef struct _MODULEINFO * LPMODULEINFO
typedef MODULEENTRY32 * PMODULEENTRY32
typedef MODULEENTRY32 * LPMODULEENTRY32
typedef struct _tag_MODULE_INFO MODULE_INFO
typedef struct _tag_MODULE_INFO * LPMODULE_INFO
typedef struct tagSTACKINFO STACKINFO
typedef struct tagSTACKINFO * LPSTACKINFO

Class Documentation

◆ tagMODULEENTRY32

struct tagMODULEENTRY32
Class Members
DWORD dwSize
DWORD GlblcntUsage
HMODULE hModule
BYTE * modBaseAddr
DWORD modBaseSize
DWORD ProccntUsage
TCHAR szExePath[MAX_PATH]
TCHAR szModule[MAX_MODULE_NAME32+1]
DWORD th32ModuleID
DWORD th32ProcessID

◆ _MODULEINFO

struct _MODULEINFO
Class Members
LPVOID EntryPoint
LPVOID lpBaseOfDll
DWORD SizeOfImage

◆ _tag_MODULE_INFO

struct _tag_MODULE_INFO
Collaboration diagram for _tag_MODULE_INFO:
Class Members
DWORD dwModSize
DWORD64 ModuleAddress
struct _tag_MODULE_INFO * pNext
TCHAR szModuleName[MAX_MODULE_NAME32+1]
TCHAR szModulePath[MAX_PATH]
TCHAR szSymbolPath[MAX_PATH]
TCHAR szVersion[MAX_VERSION_LENGTH]

◆ tagSTACKINFO

struct tagSTACKINFO
Collaboration diagram for tagSTACKINFO:
Class Members
tagSTACKINFO * pNext
TCHAR szFileName[MAX_PATH]
DWORD64 szFncAddr
TCHAR szFncName[MAX_PATH]
unsigned long uFileNum
TCHAR undFullName[STACKWALK_MAX_NAMELEN]
TCHAR undName[STACKWALK_MAX_NAMELEN]

Macro Definition Documentation

◆ ASSERT

#define ASSERT ( judge)
Value:
{\
if(!(judge))\
{\
DebugBreak();\
}\
}
166#define ASSERT(judge)\
167 {\
168 if(!(judge))\
169 {\
170 DebugBreak();\
171 }\
172 }

Referenced by CStackWalker::GetModulesPSAPI().

◆ GET_CURRENT_THREAD_CONTEXT

#define GET_CURRENT_THREAD_CONTEXT ( c,
contextFlags )
Value:
do\
{ \
memset(&c, 0, sizeof(CONTEXT));\
c.ContextFlags = contextFlags;\
RtlCaptureContext(&c);\
} while (0);
278#define GET_CURRENT_THREAD_CONTEXT(c, contextFlags) \
279 do\
280 { \
281 memset(&c, 0, sizeof(CONTEXT));\
282 c.ContextFlags = contextFlags;\
283 RtlCaptureContext(&c);\
284} while (0);

Referenced by CStackWalker::StackWalker().

◆ MAX_MODULE_NAME32

#define MAX_MODULE_NAME32   255

◆ MAX_SYMBOL_PATH

#define MAX_SYMBOL_PATH   1024

◆ MAX_VERSION_LENGTH

#define MAX_VERSION_LENGTH   512

◆ STACKWALK_MAX_NAMELEN

#define STACKWALK_MAX_NAMELEN   1024

◆ TH32CS_SNAPMODULE

#define TH32CS_SNAPMODULE   0x00000008

Typedef Documentation

◆ LPMODULE_INFO

typedef struct _tag_MODULE_INFO * LPMODULE_INFO

◆ LPMODULEENTRY32

◆ LPMODULEINFO

typedef struct _MODULEINFO * LPMODULEINFO

◆ LPSTACKINFO

typedef struct tagSTACKINFO * LPSTACKINFO

◆ MODULE_INFO

typedef struct _tag_MODULE_INFO MODULE_INFO

◆ MODULEENTRY32

◆ MODULEINFO

typedef struct _MODULEINFO MODULEINFO

◆ PMODULEENTRY32

◆ STACKINFO

typedef struct tagSTACKINFO STACKINFO