Solutions with inconsistent versions of Windbg SOS and CLR
Due to the difference between the test service environment and the Windbg running environment, there may be inconsistencies in the versions of Windbg. Net sos.dll and mscordacwks.dll when analyzing dump files, resulting in the failure of the extension commands of the windbg debugger. The specific solutions are as follows:
1. First define the Windgb symbols path (e.g. d:\ temp), and then create a folder under the symbols path to store .net sos.dll and mscordackwks.dll (e.g. d:\ temp\ clr1026)
two。 Then copy the dump running environment, that is, sos.dll and mscordacwks.dll under the .net Framework installation path on the test server to the clr1026 folder in the symbols directory
3. Finally, start Windbg and load the dump file, and enter the call command under the command window: .cordll-u-ve-lp + (the root directory where sos.dll and mscordacwks.dll are located), that is, .cordll-u-ve-lp d:\ temp\ clr1026
4. Verify again that all the extended commands under the debugger can be used normally, but still prompt that the mismatch between SOS and CLR version is as follows:
5. Run the .chain command to find additional dll paths, then run .unload without loading the system default sos.dll, and finally run .setdll to use custom sos.dll paths, as follows: