Buy new:
-22% $46.73$46.73
Delivery Thursday, July 4
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Good
$33.16$33.16
Delivery Thursday, July 4
Ships from: Amazon Sold by: RNA TRADE LLC
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Advanced .NET Debugging 1st Edition
Purchase options and add-ons
“Mario Hewardt’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.”
–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.
- ISBN-100321578899
- ISBN-13978-0321578891
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateNovember 9, 2009
- LanguageEnglish
- Dimensions7.6 x 1.23 x 10 inches
- Print length542 pages
Frequently bought together

Customers who bought this item also bought
Advanced Windows DebuggingPaperback$20.17 shippingGet it as soon as Friday, Jul 5Only 1 left in stock - order soon.
Editorial Reviews
Review
Praise for Advanced .NET Debugging
“While the .NET environment provides a developer with a powerful toolbox to accomplish their goals, it can often be a daunting task to debug some of the issues that inevitably crop up during software development. This book provides the crucial details about how the CLR works internally, which you need to know to diagnose many classes of bugs in your .NET programs, and it provides clear examples of how to solve the same types of issues we see our customers struggle with on a daily basis. This book is required reading for all serious .NET developers.”
―Lee Culver, CLR Quick Response Team, Microsoft Corporation
“Have you ever wondered why your .NET application is not responding? Or why it’s intermittently consuming high CPU? Or crashing? When things go wrong you need to think low level, using the proper knowledge and tools to investigate the internals of your application. Advanced .NET Debugging delivers the knowledge necessary to quickly isolate nasty software problems. Welcome to the debugging world!”
―Roberto A. Farah, Senior Premier Field Engineer, Microsoft Corporation
“Mario Hewardt’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 that will benefit developers architecting software. I highly recommend Mario’s book.”
―Jeffrey Richter, consultant, trainer, and author at Wintellect
“This book talks about tools such as SOS in the kind of depth that I have not seen elsewhere. It’s a definite aid in understanding and debugging managed application behavior.”
―Maoni Stephens, GC Developer, Microsoft Corporation
“Advanced .NET Debugging is essential reading for someone who wants to get under the covers and obtain an intimate understanding of how the .NET Common Language Runtime works. It clearly identifies the layout of the system and how the assemblies are loaded and organized. I recommend it to anyone who wants to debug more complex issues brought on by synchronization problems and corruption. It also effectively addresses the difficult task of postmortem debugging.”
―Pat Styles, Microsoft Corporation
From the Back Cover
“Mario Hewardt’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.”
–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 () contains all sample code, examples, and bonus content.
About the Author
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).
Product details
- Publisher : Addison-Wesley Professional; 1st edition (November 9, 2009)
- Language : English
- Paperback : 542 pages
- ISBN-10 : 0321578899
- ISBN-13 : 978-0321578891
- Item Weight : 1.87 pounds
- Dimensions : 7.6 x 1.23 x 10 inches
- Best Sellers Rank: #2,520,039 in Books (See Top 100 in Books)
- #83 in Computer Programming Debugging
- #423 in Microsoft .NET
- #760 in Microsoft C & C++ Windows Programming
- Customer Reviews:
About the author

Mario Hewardt is a Principal Software Engineer in the Azure Office of the CTO at Microsoft working on the Sysinternals tools. Mario is the author of Advanced Windows Debugging and Advanced .NET Debugging. With over two decades at Microsoft, he has worked with the development of Windows starting from Windows 98 up to Windows Vista. Mario has worked in the SaaS arena and delivered the Asset Inventory Service as well as leading a team of developers building the core platform for the next generation Microsoft online management service – Windows Intune. Mario has also worked closely with enterprise customers as a Dedicated Developer Premier Field Engineer helping ensure that customers build their solutions on the Microsoft stack in the most efficient and reliable way possible. Mario lives in Washington state with his wife, daughter and two dogs.
Customer reviews
Our goal is to make sure every review is trustworthy and useful. That's why we use both technology and human investigators to block fake reviews before customers ever see them. Learn more
We block Amazon accounts that violate our community guidelines. We also block sellers who buy reviews and take legal actions against parties who provide these reviews. Learn how to report
-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Then you stumble across a book like this and you think "where were you 12 months ago when I first started this journey?"
It's hard to say if there is any good beginner guide to WinDbg, as experience is the true teacher with that tool. But this is the best thing I've read on the topic and would highly recommend it if you are at the beginning or intermediate level with WinDbg.
If you already have Advanced Windows Debugging by the same author and have read it, then you should be in good shape to tackle this one. But if you haven't, fear not, you can still make it.
The book is soft-bound, neatly printed in about 500 pages and contains 10 chapters divided into 3 parts. It doesn't weight much and can be easily carried around.
Part 1 consists of 3 chapters. In the first chapter the reader is an introduction to the tools. The 2nd chapter - CLR fundamentals - contrary to its name, is not a high level overview for the newbie. Instead it is a wealth of information for all .NET programmers. No matter how senior a programmer you are, I will bet that you will still learn something (probably a lot) from this chapter. The 3rd chapter - Basic Debugging Tasks - is a bit lengthy (I don't mean that in a bad way) at about 100 pages, helps you get acquainted with the tools and commands.
Part 2 consists of 4 chapters - Assembly Loader, Managed Heap and Garbage Collection, Synchronization and Interoperability. As you might guess from the names, it is pretty advanced. It is hard, but you will emerge with a much better and clearer understanding of the platform. The chapter on interoperability might not be useful for everybody, but for those who have felt the pain of COM interop or PInvoke this chapter pays for the price of the book many times over.
Part 3 consists of the advanced-advanced topics. There is a chapter named Postmortem debugging which includes debugging problems when you have no access to the live machine and you cannot reproduce the problem locally. It consists of taking a dump file and analyzing it offsite. Not an everyday topic for most programmers, but you will surely be thankful for this chapter if you ever come across it. It also explains how the Windows error reporting works. The second last chapter is called PowerTools which includes discussion of PowerDbg which allows you to control native debuggers using powershell (how cool is that !). There is also information on Visual Studio integration with SOS and on CLR Profiler. The last chapter, a small one at about 15 pages, is on .NET 4.0 (based on Beta 1 release though).
The writing style is very clear and precise. There are plenty of samples and some good diagrams to help your understand the concepts better (i loved them, a picture is worth a thousand words). In short, this is book worth purchasing and worth reading and worth reading again (which is what I am going to do).
There is a support website for the book at advanceddotnetdebugging dot com.
Although written around 2009 and the release of .Net 4.0, I still highly recommend this book as a starting point because the fundamentals and strategies outlined are still valid in 2018 and it is not uncommon to also have to troubleshoot legacy code.
Mario does an amazing job in all of his books and courses. He also quickly and politely responded to all my emails on his old Microsoft email no matter how stupid the question was. I selfishly wish he would write another/current book using the same techniques and outlines he used in the past.
Brian Rasmussen
Microsoft MVP Visual C#
Top reviews from other countries
I could resolve memory issues of my application working with weak references.
PS: I hope for an update for .net 4.5 framework.
Basically, this book is just a well formatted summary of articles about WinDbg for .NET with a few extras.
Most of the information from this book you won't ever need, other pieces are easy to google. That's why I wouldn't recommend it to anyone who has already an experience with WinDbg.
Three stars rating is because
1) book's title is totally misleading
2) a lot of advanced topics are not described
3) price is too high for something like this book

