Visual SOS – Visual Studio extension to debug managed applications through SOS

Visual SOS is both an executable and extension for Visual Studio that leverages the debugger engine available in Windows in conjunction with SOS debugging extension. It’s similar to having Windbg embedded into Visual Studio but in a much simpler way, because it exposes some of the most commonly used commands just a click away. Visual […]

Continue Reading

Unit testing our Visual C++ code with Microsoft Unit Testing Framework

One of the things I love about unit testing (besides all of the well-known benefits) is the ability to test code without writing a tester or test harness application, but I can pretty much leverage what Microsoft have already built for us. Image below depicts an unit test I’ve written for this JNI .NET bridge or […]

Continue Reading

Beware of where you call _CrtDumpMemoryLeaks

The Visual C++ compiler has a myriad of great features to build robust and high-quality software. A good example of this could be _CrtDumpMemoryLeaks function that allows to detect any memory leaks  that has occurred in the debug heap.  There is an entire section on debugging native code here.  The results produced by the function […]

Continue Reading

Building a Visual Studio Add-In To Leverage WinDBG and SOS

  Hi Community, I am currently building an Visual Studio add-in to leverage SOS and make it more user friendly, thus I have called it Visual SOS. On this blog post I will describe the main debugging interfaces that are required as well as an artefact called SOS Wrapper which encapsulates the functionality as a […]

Continue Reading

.NET Crash Dump and live process analysis via clrmd

Application debugging and analysis can be a daunting task, even more when source code neither symbols are not available. Visual Studio provides developers with powerful debugging capabilities, but the problem many times faced by developers is that Visual Studio is not installed on the target computer which is fair enough if it is a production […]

Continue Reading