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