a??Mario Hewardta??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, which will benefit developers architecting software.a??
a??Jeffrey Richter, consultant, trainer, and author at Wintellect
a??Mario has done it again. His Advanced Windows Debugging (coauthored with Daniel Pravat) is an invaluable resource for native code debugging, and Advanced .NET Debugging achieves the same quality, clarity, and breadth to make it just as invaluable for .NET debugging.a??
a??Mark Russinovich, Technical Fellow, Microsoft Corporation
The Only Complete, Practical Guide to Fixing the Toughest .NET Bugs
Advanced .NET Debugging is the first focused, pragmatic guide to tracking down todaya??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 problemsa??far more quickly than you ever could with other debuggers.
Hewardt first introduces the key concepts needed to successfully use .NETa??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 a??power toolsa??
- 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.
Create a review
Mario Hewardt, senior development lead at Microsoft, has pioneered Windows system-level development for more than a decade. He currently leads a development team that builds ground-breaking online IT management solutions. Hewardt is coauthor of?Advanced Windows Debugging (Addison-Wesley, 2008).
ContentsForeword xix Preface xxi Acknowledgments xxxi About the Author xxxiii Part I: Overview 1 Chapter 1: Introduction to the Tools 3 Debugging Tools for Windows 3 .NET 2.0-Redistributable 4 .NET 2.0-SDK 5 SOS 8 SOSEX 10 CLR Profiler 11 Performance Counters 14 Reflector for .NET 15 PowerDbg 16 Managed Debugging Assistants 18 Summary 21 Chapter 2: CLR Fundamentals 23 High-Level Overview 23 CLR and the Windows Loader 26 Application Domains 33 Assembly Overview 38 Assembly Manifest 39 Type Metadata 42 Summary 68 Chapter 3: Basic Debugging Tasks 69 The Debugger and the Debugger Target 69 Symbols 74 Controlling Execution 77 Loading Managed Code Extensions 85 Controlling CLR Debugging 90 Setting Breakpoints 90 Object Inspection 103 Thread Operations 131 Code Inspection 143 CLR Internals Commands 146 Diagnostics Commands 149 SOSEX Extension Commands 151 Crash Dump Files 163 Summary 165 Part II: Applied Debugging 167 Chapter 4: Assembly Loader 169 CLR Loader Overview 169 Simple Assembly Load Failure 179 Load Context Failure 185 Interoperability and DllNotFoundException 195 Debugging Light Weight Code Generation 197 Summary 202 Chapter 5: Managed Heap and Garbage Collection 203 Windows Memory Architecture Overview 204 Garbage Collector Internals 213 Debugging Managed Heap Corruptions 254 Debugging Managed Heap Fragmentation 262 Debugging Out of Memory Exceptions 272 Summary 291 Chapter 6: Synchronization 293 Synchronization Basics 293 Thread Synchronization Primitives 294 Synchronization Internals 306 Synchronization Scenarios 316 Summary 344 Chapter 7: Interoperability 345 Platform Invocation 345 COM Interoperability 352 Debugging P/Invoke Calls 358 Debugging Interop Leaks 373 Debugging COM Interop Finalization 378 Summary 388 Part III: Advanced Topics 389 Chapter 8: Postmortem Debugging 391 Dump File Fundamentals 392 Windows Error Reporting 409 Summary 438 Chapter 9: Power Tools 439 PowerDbg 439 Visual Studio 448 CLR Profiler 460 WinDbg and the CmdTree Command 467 Summary 469 Chapter 10: CLR 4.0 471 Tools 471 Managed Heap and Garbage Collection 472 Synchronization 480 Interoperability 483 Postmortem Debugging 484 Summary 485 Index 487
- publication date: 09/11/2009
- ISBN13: 9780321578891
- Format: Paperback
- Number Of Pages: 552
- ID: 9780321578891
- weight: 812
- ISBN10: 0321578899
- Saver Delivery: Yes
- 1st Class Delivery: Yes
- Courier Delivery: Yes
- Store Delivery: Yes