22 of 24 people found the following review helpful:
5.0 out of 5 stars
Never Leave Home Without It, 13 April 2003
By Elijah D "dev1zero" - Published on Amazon.com
This review is from: Debugging Applications for Microsoft® .NET and Microsoft Windows® (Pro-Developer) (Paperback)
Being John Robbin's greatest fan, I have been monitoring the release of this book right after it appeared on amazon. Once It hit the market for real, I got a copy via express delivery and I have to say it's worth the wait. I haven't actually read the whole think yet but its very impressive so far.
John walks the reader through debugging without tears. This edition of the book does contain a lot more information and is very current (a little too current cos all the binaries were built with VS .NET 2003 which is not in the market at this time.
However, this didn't hinder me since I have a copy of the RC. The first part of the book covers coding practices that will reduce the need to debug in the first place. The other parts of the book go into the dirty details of going after bugs with full confidence. From native win32 to managed code to multithreading; its all here.
If you're tired of scratching your head even when you have a debugger in front of you, stop reading my review and get yourself a copy of this book right away.
39 of 54 people found the following review helpful:
2.0 out of 5 stars
Below the belt..., 24 Sep 2003
By Paul Selormey - Published on Amazon.com
This review is from: Debugging Applications for Microsoft® .NET and Microsoft Windows® (Pro-Developer) (Paperback)
I bought this book to get a complete knowledge of the .NET framework debugging and got nothing. May be the .NET in the title applies to the fact that the author is using the VS.NET. If you have got the author's previous book on debugging then there is no need to waste money on this one.
It discusses mainly C/C++ debugging in a typical MFC style (ASSERT/VERIFY etc).
Here is the content at a glance:
1. Bugs: Where they come From and How you Solve Them
2. Getting Started Debugging
3. Debugging During Coding
4. Operating System Debugging Support and How Win32 Debuggers Work
5. Advanced Debugger Usage with Visual Studio .NET
6. Advanced .NET Debugging with Visual Studio .NET
7. Advanced Native Code Techniques with Visual Studio .NET
8. Advanced Native Code Techniques with WinDGB
9. Extending the Visual Studio .NET IDE
10. Managed Exception Monitoring
11. Flow Tracing
12. Finding Source and Line Information with Just a Crash Address
13. Crash Handlers
14. Debugging Windows Services and DLLs That Load into Services
15. Multithreaded Deadlocks
16. Automated Testing
17. The Debug C Run-Time Library and Memory Management
18. FastTrace: A High-Performance Tracing Tool for Server Applications
19. Smoothing the Working Set
Appendixes.
As you can tell, there is hardly a .NET stuff to pay for, so for those of us owing the author's previous debugging book, this is just a second edition with .NET appended to confuse buyers!
3 of 3 people found the following review helpful:
5.0 out of 5 stars
A very useful discussion of Windows debugging practices, 7 Jan 2005
By Brent A. Thale - Published on Amazon.com
This review is from: Debugging Applications for Microsoft® .NET and Microsoft Windows® (Pro-Developer) (Paperback)
This book brings a vast amount of Windows-specific debugging information together in one place and has been very helpful to me. Some of this info could be found elsewhere, but only by sorting through dozens of documentation pages and magazine articles, some many years old, and additionally the author adds value by giving very explicit instructions (even providing source code) on how to do things that are often only hinted at in the Microsoft documentation.
Most useful to me were the symbol-server tips, the SuperAssert macro and seeing how it does it what it does, crash handling in general, and the author's insight into why certain things are so slow (like OutputDebugString).
This book does have a not-so-subtle anti-C++ bias, there are little digs at C++ coding techniques throughout the book, which seem a little antiquated and inappropriate in 2005.
In the chapter on the debug C-runtime, I'm really surprised the author does not suggest writing a leak-detection system that captures the callstack at the time of allocation, I've found the C-runtime's file-and-line-oriented leak report fairly useless since the allocation is often deep inside some container class, you really need to know what code caused the allocation, not what code actually did the allocation. And the recommended feature that walks the entire heap every N allocations is unusable (it's too slow) in a large C++ program which might have many thousands of allocations. Also, redefining C++ keywords as suggested seems so evil, there are better ways of doing this.
I believe Windows XP Service Pack 2 changed some Windows internals that affect crash handling/debugging/stack walking, I wouldn't mind seeing an updated volume that covers these changes in detail.
Overall though, an excellent book, the most useful debugging book I've found so far.