The MSDN Library is a rich source of information about Microsoft products and technologies including Visual Studio and Visual C++. This post calls out some of the great code debugging topics available for Visual C++ native code developers.
The best starting point for (re)visiting debugging topics is the Debugger Roadmap. It contains links to many different task-based topics focused on debugging:
- Just My Code. The Just My Code debugger feature steps over system, framework, and other non-user calls and collapses those calls in the call stack windows. It is new for Visual C++ in Visual Studio 2013.
- Start, Break, Step, Run through Code, and Stop Debugging in Visual Studio. Review the many ways you can use the debugger to control the execution of your application. F10, F11 and Shift-F11 FTW!
- Use Dump Files to Debug App Crashes and Hangs in Visual Studio. Dumps are primarily used for debugging issues that occur on machines that the developer doesn’t have access to. Included in the topic are requirements and limitations.
- Viewing Data in the Debugger. Data Tips, Visualizers, Variable Windows and a table of other mechanisms like the Registers Window.
- Edit and Continue. Edit and Continue is a time-saving feature that enables you to make changes to your source code while your program is in break mode. There are some differences in Visual C++ edit and continue.
Another good starting point for information about debugging in Visual Studio is (surprise!) Debugging in Visual Studio.
- Windows Store Apps. The Visual Studio debugger provides complete support for debugging Windows Store apps that run on Windows 8. See Debugging and testing Windows Store apps with Visual Studio and Debug Windows Store apps in Visual Studio.
- What’s New for the Debugger in Visual Studio 2013. Hopefully you are already familiar with Just My Code for Visual C++ and other new stuff in Visual Studio 2013.
- Debugger Security. The ability to debug another process gives you extremely broad powers that you would not otherwise have, especially when debugging remotely. A malicious debugger could do bad stuff on the target machine, so there are restrictions on who can do debugging. Visit the topic for all the details.
- Debugging GPU Code. Describes how to debug C++ code that is running on the graphics processing unit (GPU).
- Debugging DirectX Graphics. This topic contains almost a dozen links exploring different elements of DX graphics debugging — Graphics Diagnostics Overview, Capturing Graphics Information, Graphics Pipeline Stages, HLSL Debugger, Graphics Diagnostics Examples and much more. Graphics experts should start here!
Native code developers can start with Debugging Native Code.
- How To: Debug Optimize Code. Find bugs that appear only in optimized code.
- MFC Debugging Techniques. Start here if you are new to MFC or need tips and techniques for troubleshooting MFC code.
- How to: Debug Native DLLs. Short and to the point!
- Walkthrough: Debugging a Parallel Application. Learn how to use the Parallel Tasks and Parallel Stacks tool to debug a parallel application.
Is content missing? Share your debugging tricks, pointers and ideas for future articles in the comments below or hit me up at email@example.com.