| 1178 | } |
| 1179 | |
| 1180 | void StackWalker::OnSymInit(LPCSTR szSearchPath, DWORD symOptions, LPCSTR szUserName) |
| 1181 | { |
| 1182 | CHAR buffer[STACKWALK_MAX_NAMELEN]; |
| 1183 | _snprintf_s(buffer, STACKWALK_MAX_NAMELEN, "SymInit: Symbol-SearchPath: '%s', symOptions: %d, UserName: '%s'\n", szSearchPath, symOptions, szUserName); |
| 1184 | OnOutput(buffer); |
| 1185 | // Also display the OS-version |
| 1186 | #if _MSC_VER <= 1200 |
| 1187 | OSVERSIONINFOA ver; |
| 1188 | ZeroMemory(&ver, sizeof(OSVERSIONINFOA)); |
| 1189 | ver.dwOSVersionInfoSize = sizeof(ver); |
| 1190 | if (GetVersionExA(&ver) != FALSE) |
| 1191 | { |
| 1192 | _snprintf_s(buffer, STACKWALK_MAX_NAMELEN, "OS-Version: %d.%d.%d (%s)\n", |
| 1193 | ver.dwMajorVersion, ver.dwMinorVersion, ver.dwBuildNumber, |
| 1194 | ver.szCSDVersion); |
| 1195 | OnOutput(buffer); |
| 1196 | } |
| 1197 | #else |
| 1198 | OSVERSIONINFOEXA ver; |
| 1199 | ZeroMemory(&ver, sizeof(OSVERSIONINFOEXA)); |
| 1200 | ver.dwOSVersionInfoSize = sizeof(ver); |
| 1201 | if (GetVersionExA( (OSVERSIONINFOA*) &ver) != FALSE) |
| 1202 | { |
| 1203 | _snprintf_s(buffer, STACKWALK_MAX_NAMELEN, "OS-Version: %d.%d.%d (%s) 0x%x-0x%x\n", |
| 1204 | ver.dwMajorVersion, ver.dwMinorVersion, ver.dwBuildNumber, |
| 1205 | ver.szCSDVersion, ver.wSuiteMask, ver.wProductType); |
| 1206 | OnOutput(buffer); |
| 1207 | } |
| 1208 | #endif |
| 1209 | } |
| 1210 | |
| 1211 | void StackWalker::OnOutput(LPCSTR buffer) |
| 1212 | { |