| 1261 | } |
| 1262 | |
| 1263 | void StackWalker::OnLoadModule(LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWORD size, DWORD result, LPCSTR symType, LPCSTR pdbName, ULONGLONG fileVersion) |
| 1264 | { |
| 1265 | CHAR buffer[STACKWALK_MAX_NAMELEN]; |
| 1266 | if (fileVersion == 0) |
| 1267 | _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); |
| 1268 | else |
| 1269 | { |
| 1270 | DWORD v4 = (DWORD) fileVersion & 0xFFFF; |
| 1271 | DWORD v3 = (DWORD) (fileVersion>>16) & 0xFFFF; |
| 1272 | DWORD v2 = (DWORD) (fileVersion>>32) & 0xFFFF; |
| 1273 | DWORD v1 = (DWORD) (fileVersion>>48) & 0xFFFF; |
| 1274 | _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); |
| 1275 | } |
| 1276 | OnOutput(buffer); |
| 1277 | } |
| 1278 | |
| 1279 | void StackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry &entry) |
| 1280 | { |