From the Back Cover
"-- Bob Wilton, Escalation Engineer, Critical Problem Resolution Team, Microsoft" "An excellent reference for both intermediate and advanced debuggers: highly practical, and filled with tricks and strategies. This book stands out from all other Win32 debugging literature, thanks to its in-depth examples-including resolving intricate problems like stack and heap corruptions." "-- Kinshuman, Development Lead, Windows Core OS Division, Microsoft" The First In-Depth, Real-World, Insider's Guide to Powerful 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(R) Vista(TM) 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. Part I Overview Chapter 1 Introduction to the Tools Chapter 2 Introduction to the Debuggers Chapter 3 Debugger Uncovered Chapter 4 Managing Symbol and Source Files Part II Applied Debugging Chapter 5 Memory Corruptions Part I - Stacks Chapter 6 Memory Corruptions Part I - Heaps Chapter 7 Security Chapter 8 Inter-process Communication Chapter 9 Resource Leaks Chapter 10 Synchronization Part III Advanced Topics Chapter 11 Writing Custom Debugger Extensions Chapter 12 64-bit Debugging Chapter 13 Postmortem Debugging Chapter 14 Power Tools Chapter 15 Windows Vista Fundamentals Appendix A Application Verifier Test Settings
If you like Advanced Windows Debugging, keep an eye out for ADVANCED .NET DEBUGGING COMING IN NOV. 2009.
About the Author
Mario Hewardt is a senior design engineer with Microsoft, and has worked extensively in the Windows system level development area for the last nine years. He is currently involved with designing and implementing the next generation management protocol for Windows Longhorn.
Daniel Pravat is a senior design engineer with Microsoft and has worked in the Windows division, primarily within the Windows management area. He is currently leading a development team that has the responsibility of shipping the most reliable management platform for Windows Longhorn.