Home
Publications

Books

 

 

 

 

 

 

 

 

 

 


Advanced Windows Debugging


For Windows developers, few tasks are more challenging than debugging–-or more crucial. Reliable and realistic information about Windows debugging has always been scarce. Now, with over 15 years of experience two of Microsoft’s system-level developers present a thorough and practical guide to Windows debugging ever written. Mario Hewardt and Daniel Pravat cover debugging throughout the entire application lifecycle and show how to make the most of the tools currently available–-including Microsoft’s powerful native debuggers and third-party solutions. To help you find real solutions fast, this book is organized around real-world debugging scenarios. Hewardt and Pravat use detailed code examples to illuminate the complex debugging challenges professional developers actually face. From core Windows operating system concepts to security, Windows® Vista™ and 64-bit debugging, they address emerging topics head-on–and nothing is ever oversimplified or glossed over! 

This book enables you to
• Master today’s most powerful Windows debugging tools, including NTSD, CDB, WinDbg, KD,
   and ADPlus
• Debug code that wasn’t designed or written for easy debugging
• Understand debuggers “under the hood,” and manage symbols and sources efficiently
• Debug complex memory corruptions related to stacks and heaps
• Resolve complex security problems
• Debug across processes: identity tracking, RPC debugger extensions, and tracking IPCs with
   Ethereal
• Find and fix resource leaks, such as memory and handle leaks.
• Debug common thread synchronization problems
• Learn when and how to write custom debugger extensions
• Perform “postmortem debugging” using crash dumps and Windows Error Reporting
• Automate debugging with DebugDiag and the Analyze Debugger command

Whether you’re a system-level or application developer, Advanced Windows Debugging delivers the deep understanding of debugging that could save you weeks on your very next project.

 

Advanced .NET Debugging

Advanced .NET Debugging is 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 contains all sample code, examples, and bonus content.