Praise for Advanced .NET Debugging
“While the .NET environment provides a developer with a powerful toolbox to accomplish their goals, it can often be a daunting task to debug some of the issues that inevitably crop up during software development. This book provides the crucial details about how the CLR works internally, which you need to know to diagnose many classes of bugs in your .NET programs, and it provides clear examples of how to solve the same types of issues we see our customers struggle with on a daily basis. This book is required reading for all serious .NET developers.”
—Lee Culver, CLR Quick Response Team, Microsoft Corporation
“Have you ever wondered why your .NET application is not responding? Or why it’s intermittently consuming high CPU? Or crashing? When things go wrong you need to think low level, using the proper knowledge and tools to investigate the internals of your application. Advanced .NET Debugging delivers the knowledge necessary to quickly isolate nasty software problems. Welcome to the debugging world!”
—Roberto A. Farah, Senior Premier Field Engineer, Microsoft Corporation
“Mario Hewardt’s Advanced .NET Debugging is an excellent resource for both beginner and experienced developers working with .NET. The book is also packed with many debugging tips and discussions of CLR internals that will benefit developers architecting software. I highly recommend Mario’s book.”
—Jeffrey Richter, consultant, trainer, and author at Wintellect
“This book talks about tools such as SOS in the kind of depth that I have not seen elsewhere. It’s a definite aid in understanding and debugging managed application behavior.”
—Maoni Stephens, GC Developer, Microsoft Corporation
“Advanced .NET Debugging is essential reading for someone who wants to get under the covers and obtain an intimate understanding of how the .NET Common Language Runtime works. It clearly identifies the layout of the system and how the assemblies are loaded and organized. I recommend it to anyone who wants to debug more complex issues brought on by synchronization problems and corruption. It also effectively addresses the difficult task of postmortem debugging.”
—Pat Styles, Microsoft Corporation
From the Back Cover
“Mario Hewardt'sAdvanced .NET Debuggingis an excellent resource for both beginner and experienced developers working with .NET. The book is also packed with many debugging tips and discussions of CLR internals, which will benefit developers architecting software.
-Jeffrey Richter, consultant, trainer, and author at Wintellect
“Mario has done it again. HisAdvanced Windows Debugging(coauthored with Daniel Pravat) is an invaluable resource for native code debugging, andAdvanced .NET Debuggingachieves the same quality, clarity, and breadth to make it just as invaluable for .NET debugging.
-Mark Russinovich, Technical Fellow, Microsoft Corporation
The Only Complete, Practical Guide to Fixing the Toughest .NET Bugs
Advanced .NET Debuggingis the first focused, pragmatic guide to tracking down today's most complex and challenging .NET application bugs. It is the only book to focus entirely on using powerful native debugging tools, including WinDBG, NTSD, and CDB, to debug .NET applications. Using these tools, author Mario Hewardt explains how to identify the real root causes of problems—far more quickly than you ever could with other debuggers.
Hewardt first introduces the key concepts needed to successfully use .NET's native debuggers. Next, he turns to sophisticated debugging techniques, using real-world examples that demonstrate many common C# programming errors.
This book enables you to
Make practical use of postmortem debugging, including PowerDBG and other “power tools
Understand the debugging details and implications of the new .NET CLR 4.0
Master and successfully use Debugging Tools for Windows, as well as SOS, SOSEX, CLR Profiler, and other powerful tools
Gain a deeper, more practical understanding of CLR internals, such as examining thread-specific data, managed heap and garbage collector, interoperability layer, and .NET exceptions
Solve difficult synchronization problems, managed heap problems, interoperability problems, and much more
Generate and successfully analyze crash dumps
A companion web site (advanceddotnetdebugging.com) contains all sample code, examples, and bonus content.