MCPcopy Create free account
hub / github.com/ddopson/node-segfault-handler / StackWalker

Class StackWalker

includes/StackWalker.h:29–140  ·  view source on GitHub ↗

forward

Source from the content-addressed store, hash-verified

27
28class StackWalkerInternal; // forward
29class StackWalker
30{
31public:
32 typedef enum StackWalkOptions
33 {
34 // No addition info will be retrived
35 // (only the address is available)
36 RetrieveNone = 0,
37
38 // Try to get the symbol-name
39 RetrieveSymbol = 1,
40
41 // Try to get the line for this symbol
42 RetrieveLine = 2,
43
44 // Try to retrieve the module-infos
45 RetrieveModuleInfo = 4,
46
47 // Also retrieve the version for the DLL/EXE
48 RetrieveFileVersion = 8,
49
50 // Contains all the abouve
51 RetrieveVerbose = 0xF,
52
53 // Generate a "good" symbol-search-path
54 SymBuildPath = 0x10,
55
56 // Also use the public Microsoft-Symbol-Server
57 SymUseSymSrv = 0x20,
58
59 // Contains all the abouve "Sym"-options
60 SymAll = 0x30,
61
62 // Contains all options (default)
63 OptionsAll = 0x3F
64 } StackWalkOptions;
65
66 StackWalker(
67 int fDescriptor,
68 int options = OptionsAll, // 'int' is by design, to combine the enum-flags
69 LPCSTR szSymPath = NULL,
70 DWORD dwProcessId = GetCurrentProcessId(),
71 HANDLE hProcess = GetCurrentProcess()
72 );
73 StackWalker(DWORD dwProcessId, HANDLE hProcess);
74 virtual ~StackWalker();
75
76 typedef BOOL (__stdcall *PReadProcessMemoryRoutine)(
77 HANDLE hProcess,
78 DWORD64 qwBaseAddress,
79 PVOID lpBuffer,
80 DWORD nSize,
81 LPDWORD lpNumberOfBytesRead,
82 LPVOID pUserData // optional data, which was passed in "ShowCallstack"
83 );
84
85 BOOL LoadModules();
86

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected