Advanced Windows Debugging (Paperback)

Mario Hewardt, Daniel Pravat

  • 出版商: Addison Wesley
  • 出版日期: 2007-10-01
  • 定價: $2,200
  • 售價: 9.0$1,980
  • 語言: 英文
  • 頁數: 840
  • 裝訂: Paperback
  • ISBN: 0321374460
  • ISBN-13: 9780321374462
  • 立即出貨




“Who says you can’t bottle experience? Between these covers is a wealth of information: a clear, logical approach to finding and eliminating bugs. This is an absolute must-have book for anyone who develops, tests, or supports software for Microsoft Windows.”

-- 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® 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.


Table of Contents

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




── Bob Wilton,微軟關鍵問題解決團隊的升級工程師


── Kinshuman,微軟Windows核心操作系統部門的開發主管



Mario Hewardt和Daniel Pravat涵蓋了整個應用程序生命周期的調試,並展示了如何充分利用當前可用的工具,包括微軟強大的本地調試器和第三方解決方案。

為了幫助您快速找到真正的解決方案,本書圍繞著真實的調試場景進行組織。Hewardt和Pravat使用詳細的代碼示例來闡明專業開發人員實際面臨的複雜調試挑戰。從核心Windows操作系統概念到安全性,Windows Vista和64位調試,他們直面新興話題,絕不過度簡化或掩飾任何問題!


- 掌握當今最強大的Windows調試工具,包括NTSD、CDB、WinDbg、KD和ADPlus
- 調試不易調試的代碼
- 了解調試器的內部運作,並有效管理符號和源代碼
- 調試與堆棧和堆相關的複雜內存破壞問題
- 解決複雜的安全問題
- 跨進程調試:身份跟踪、RPC調試器擴展和使用Ethereal跟踪IPC
- 查找和修復資源洩漏,例如內存和處理程序