Get alerted when things go wrong
Code defects and unexpected situations manifest themselves as exceptions. Exceptions will crash your app or simply become hard bugs to track down.
While debugging with Visual Studio you can configure notifications when exceptions are thrown, and even choose specific exceptions of interest to focus on. You get alerted immediately with inner exception information and null reference analysis right from there, as easy as if you had hit a breakpoint.
Simplify control and inspection of complex multi-threaded code
Multi-threaded code is notoriously tough to debug. Visual Studio lets you control the execution of multiple threads at once and inspect state across many threads to make the big picture pop.
See all the thread call stacks in a single graphical view and evaluate expressions across multiple threads to compare values. Easily view information about threads and tasks, flag them, and freeze them. Quickly switch between execution contexts, and use thread markers to see which lines of code your threads are executing at any moment.
Dig as deep as your code requires
Sometimes, especially for system-level C++ code, you need to drop closer to the hardware level to diagnose hard to find bugs. Visual Studio supports you to get this done with the Memory, Registers, and disassembly window.