| 1139 | } |
| 1140 | |
| 1141 | void StackWalker::OnLoadModule(LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWORD size, DWORD result, LPCSTR symType, LPCSTR pdbName, ULONGLONG fileVersion) |
| 1142 | { |
| 1143 | CHAR buffer[STACKWALK_MAX_NAMELEN]; |
| 1144 | if (fileVersion == 0) |
| 1145 | _snprintf_s(buffer, STACKWALK_MAX_NAMELEN, "%s:%s (%p), size: %d (result: %d), SymType: '%s', PDB: '%s'\n", img, mod, (LPVOID) baseAddr, size, result, symType, pdbName); |
| 1146 | else |
| 1147 | { |
| 1148 | DWORD v4 = (DWORD) fileVersion & 0xFFFF; |
| 1149 | DWORD v3 = (DWORD) (fileVersion>>16) & 0xFFFF; |
| 1150 | DWORD v2 = (DWORD) (fileVersion>>32) & 0xFFFF; |
| 1151 | DWORD v1 = (DWORD) (fileVersion>>48) & 0xFFFF; |
| 1152 | _snprintf_s(buffer, STACKWALK_MAX_NAMELEN, "%s:%s (%p), size: %d (result: %d), SymType: '%s', PDB: '%s', fileVersion: %d.%d.%d.%d\n", img, mod, (LPVOID) baseAddr, size, result, symType, pdbName, v1, v2, v3, v4); |
| 1153 | } |
| 1154 | } |
| 1155 | |
| 1156 | void StackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry &entry) |
| 1157 | { |