Don’t you just love the following error message when trying to debug a minidump with SOS and WinDBG?
The version of SOS does not match the version of CLR you are debugging.
Please load the matching version of SOS for the version of CLR you are debugging. CLR Version: 4.0.30319.1 SOS Version: 4.0.30319.235
SOS is built as part of the framework, so if you have a newer version of .NET on your machine than was running on the machine where the minidump was taken, you are completely out of luck. I guess you could set up a VM, install the original RTM .NET version and copy the SOS out of the framework directory. Lather, rinse, and repeat for each and every hotfix and service pack and you will eventually have all of the SOS.DLLs saved off. What would be nice is if the debugger would just get the right one every time.
This week I was working a fantastic group at Blizzard and we ran into something undocumented that we thought was awesome. WinDBG can download the right version of SOS if you get everything set up right. This seems to work for .NET 4.0 (but only post RTM builds) and .NET 4.5.
All my testing was with the latest WinDBG 6.2.9200.16384 from the Windows 8 SDK that you download here. The super important part to get SOS automatically downloaded is that you have to have the Microsoft symbol servers set up in the _NT_SYMBOL_PATH environment variable. The easiest way to do that is to use my WintellectPowerShell module to run the Set-SymbolServer cmdlet with the –public switch. WintellectPowerShell is freely available at GitHub.
Once you have the minidump loaded, the trick is to run !analyze –v. With the symbol server set up, the !analyze command will grab the correct version of SOS from Microsoft because that’s how it does the analysis! The downloaded SOS will be put into your local symbol cache and loaded from there. Here’s what the extension chain will be after running !analyze.
0:016> .chain Extension DLL search Path:
Extension DLL chain:
C:SYMBOLSPUBLICsos_AMD64_AMD64_4.0.30319.18046.dll5155291195e000sos_AMD64_AMD64_4.0.30319.18046.dll: image 4.0.30319.18046, API 1.0.0, built Thu Mar 28 22:29:32 2013
dbghelp: image 6.2.9200.20512, API 6.2.6, built Thu Sep 06 22:45:49 2012
ext: image 6.2.9200.20522, API 1.0.0, built Fri Sep 21 01:17:05 2012
exts: image 6.2.9200.16384, API 1.0.0, built Wed Jul 25 19:15:20 2012
uext: image 6.2.9200.16384, API 1.0.0, built Wed Jul 25 19:15:09 2012
ntsdexts: image 6.2.9200.16384, API 1.0.0, built Wed Jul 25 19:16:01 2012
Having fought the battle of the SOS version many times, this little trick will save us all a ton of time.
The Right Solution for Your Needs.
We deliver a hybrid spectrum of Microsoft Cloud Platform and Azure solutions to government agencies and application developers who demand a modern, open and flexible cloud service platform. We offer trusted, transparent, and secure Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) solutions for production business applications, Business Intelligence (BI), continuous data protection, application availability, test/development, and Software as a Service (SaaS)
Architected to meet your needs.
Operated reliably 24x7x365.
We build solutions to address your individual business objectives with an eye to sustained technology innovation.
We manage the entire lifecycle from start to finish to eliminate surprises and allow you to focus on your services.
We deploy environments which can be managed and maintained for you by our team of experts 24x7x365.
20+ Years of Experience Makes Us a Trusted Partner You Can Count On.
Atmosera backs technology with real humans who deliver experience and unparalleled dedication, resulting in smarter cloud computing investments. We developed a core methodology to ensure we accurately capture your needs and translate them into the best solution possible. This process gives you the peace of mind that your cloud investment will be aligned with the return you seek. We can be counted on to bring our industry experience and real-world best practices to operate Microsoft Cloud Platform and Azure environments.
Rely on our team to map your existing environment to a corresponding Azure cloud.
Easily move from your existing environment to a public or private Microsoft cloud.
Understand how to transform your applications to better take advantage of cloud capabilities.
Our team actively manages all maintenance & optimization to keep your environment running at its best.
Information Security: Protect Your IT with Industry Best Practices.
We provide managed Information Security (InfoSec) and compliance options across the entire computing stack, from connectivity to applications, with stringent physical and logical security controls.
We take on the security and infrastructure concerns by becoming an extension to our customer’s team or their application development vendor. In that partnership, Atmosera shares the responsibility and liability associated with maintaining a secure environment, and stands by that commitment with a guarantee based on the defined lines of responsibility. All Atmosera customers benefit from more than technology by also getting processes, policies, training, and 24x7x365 technical resources. Customers have the peace of mind of knowing an industry expert has performed a thorough risk assessment, identified a remediation plan and provided ongoing audit support to ensure customers stay secure. Best of all, Atmosera understands this level of service is, and will continue to be, required year after year.
Disaster Recovery (DR) & Data Protection
Secure Networks including Firewalls & DDOS Mitigation
Why Microsoft Cloud Platform and Azure?
Microsoft has made major strides in the public cloud space over the past few years. They are gaining market momentum with companies and also the analysts community who recognize the more than USD15B investment made. At this point Azure has more data centers than AWS and Google Cloud combined. It spans an unparalleled global reach with 36 regions available and more being added. Azure offers companies wanting to put workload in the a public cloud with a secure, scalable and competitive option.
The Power of Microsoft’s Hybrid Cloud Platform.
Microsoft is the only hyperscaler to offer a true hybrid cloud solution with the flexibility to run applications using private or public clouds — and the ability to move between them. Atmosera has the skills and expertise necessary to help architect, deploy, and operate integrated hybrid cloud solutions based on the Microsoft Cloud Platform and microservices. This offers our customers a unique set of capabilities and flexibility when planning out their cloud journey.
Azure Certified for Hybrid Cloud.
Atmosera has developed core competencies and intellectual property to take full advantage of all Azure has to offer. All Atmosera Azure services receive the “Azure Certified for Hybrid Cloud” designation which confirms it passed Microsoft’s rigorous validation process under the Cloud OS Network (COSN) program. Customers benefit from knowing that their solution was carefully planned and executed using best practices and proven methods.
Microsoft Azure Government.
Starting in June of 2017, Microsoft opened up their Microsoft Azure government regions to partners. Atmosera was one of the first Microsoft Cloud Solution Provider (CSP) to be approved to deploy qualified government customers in these dedicated regions.
Azure Government offers world-class security and compliance for US federal, state, local, and tribal government agencies and their partners. It provides an environment for government-only workloads which is operated by screened US citizens. Customers can choose from six data center regions with DoD Impact Level 5 Provisional Authority (PA) including two dedicated regions for US Department of Defense workloads. Environments can leverage hybrid flexibility by maintaining some data and functionality on-premises. Azure Government also offers the most certifications of any cloud provider to simplify critical government compliance requirements.
Azure Government regions where Atmosera can deploy customers include the following six locations:
- US Gov Virginia
- US Gov Indiana
- US Gov Arizona
- US Gov Texas
- US DOD East
- US DOD Central