Advanced .NET Debugging
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-57889-1 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
–Jeffrey Richter, consultant, trainer, and author at Wintellect
“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.”
–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 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.
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).
Foreword 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
Erscheint lt. Verlag | 19.11.2009 |
---|---|
Verlagsort | New Jersey |
Sprache | englisch |
Maße | 179 x 229 mm |
Gewicht | 850 g |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► NET Programmierung |
Informatik ► Software Entwicklung ► Qualität / Testen | |
ISBN-10 | 0-321-57889-9 / 0321578899 |
ISBN-13 | 978-0-321-57889-1 / 9780321578891 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich