Visual Studio: Advanced Debugging Tools
2h 32mAdvanced2020-03-06
Authors

Walt Ritscher
Programmer, UI Designer, Staff Instructor at LinkedIn Learning
Course details
Want to get more out of your Visual Studio debugging sessions? In this course, take a look at several powerful tools and features that can help you pinpoint problems in your application code. Instructor Walt Ritscher details how to leverage IntelliTrace, which captures and archives debugging sessions, allowing you to replay and analyze those sessions later to find elusive bugs. Walt also covers the Diagnostics window, which provides an interactive view of application performance metrics; how code maps help you visualize the relationships between .NET types and type members; how to analyze memory usage with the Diagnostics Tools window; and how to debug multithreaded code. Plus, get several helpful debugging tips, including how to use the new function breakpoint feature to have Visual Studio autogenerate breakpoints for a specified function during a debugging session.
Skills covered
Visual StudioWeb Development ToolsSoftware Development ToolsWeb DevelopmentMicrosoftSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Discover the advanced debugger tools
- 02 - What you should know
- 03 - How to access the GitHub code
1. IntelliTrace
- 04 - A quick look at the Diagnostics window
- 05 - A quick look at the IntelliTrace tools
- 06 - What you should know
- 07 - Understand the iTrace files
- 08 - Choosing what to save in iTrace files
- 09 - View function calls in historical debugging
- 10 - View snapshots in historical debugging
- 11 - View IntelliTrace exceptions
- 12 - View UI messages
- 13 - View other events
- 14 - View IntelliTrace timeline
2. Work with an iTrace File
- 15 - Save an iTrace file while debugging
- 16 - Archive PDB files for each version
- 17 - Configure debug symbols path
- 18 - Open iTrace file for recent build
- 19 - Change source and PDB for older build
- 20 - Diagnose problems after deployment
3. Use Diagnostics and Visualizer Window
- 21 - Configure the CPU monitor
- 22 - Analyze CPU usage with Diagnostics tools
- 23 - Analyze CPU usage with Profiler
- 24 - View CPU usage by function
- 25 - Configure memory monitor
- 26 - Analyze memory usage with Diagnostics tools
- 27 - Analyze memory usage with Profiler
- 28 - View memory details
4. Debug Multithreaded Code
- 29 - Debug multithreaded code
- 30 - Run the sample application
- 31 - Examine the sample application code
- 32 - Overview of the thread debug windows
- 33 - Debug with the Threads window
- 34 - See worker threads in the Threads window
- 35 - Show threads icons in the source editor
- 36 - Debug with the parallel watch
- 37 - Identify threads with custom names and Flags
- 38 - View the Thread call stack
- 39 - Examine the modified code for Parallel Stack
- 40 - Use the Parallel Stack window
- 41 - Conditional breakpoints from Thread ID
- 42 - Freeze and thaw threads
5. Interactive Code Maps
- 43 - Install code maps feature
- 44 - Enable code maps
- 45 - Save the code map file
- 46 - Open and debug with the code map file
- 47 - Navigate call stack in code map
- 48 - Add comments and flags to code map
- 49 - Change code map layout
- 50 - Enhance code map with type containers
- 51 - Complete the map by adding all type members
6. Debugging Tips
- 52 - Multiple breakpoints with Inline Breakpoints
- 53 - Enhance debug sessions with DebuggerDisplay attribute
- 54 - Recursive debugging with Parallel Watch window
- 55 - Add breakpoints to all overloads with function breakpoints
- 56 - Use debug commands to create lists of debug data
Conclusion
- 57 - What's next
Related courses
- Debugging in C++ with Visual Studio Code
- AI-Powered Development: GitHub Copilot in Visual Studio
- Learning Visual Studio Code (2017)
- Visual Studio Code for .NET Developers
- Build with AI: Agent Mode in Visual Studio Code
- Learning Visual Studio Code
- Revit: Creating C# Plugins
- Emmet: Fast and Efficient Web Coding
Related learn paths
- C# Foundations: From Basics to Building Blocks
- Improve Your JavaScript Language Skills
- Prepare for the Google Associate Android Developer Certification
- Advance Your JavaScript Skills
- Getting Started as an ASP.NET Core Developer
- Prepare for the CompTIA PenTest+ (PT0-001) Exam
- Master C++
- Data Engineering Professional Certificate by Snowflake