Industrial-Sized Deals Shop all Back to School Shop Women's Handbags Learn more nav_sap_plcc_6M_fly_beacon Beach House $5 Off Fire TV Stick Off to College Essentials Shop Popular Services TransparentGGWin TransparentGGWin TransparentGGWin  Amazon Echo Starting at $99 Kindle Voyage Shop Back to School with Amazon Back to School with Amazon Outdoor Recreation Baby Sale
Buy Used
+ $3.99 shipping
Used: Good | Details
Condition: Used: Good
Comment: Sorry, CD missing.. Worn Corners and/or Edges (Possibly Bent). Cover Tearing in Areas. Writing on Pages. Highlighting on pages.. Used - Good. Sound copy (Mild Reading Wear). May have scuffs or missing DJ. May have some notes, highlighting or underlining. "Our Business is Changing Lives."
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Debugging Applications for Microsoft .NET and Microsoft Windows (2nd Edition) (Developer Reference) Paperback – April 5, 2003

12 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
$45.78 $0.94

Editorial Reviews Review

In the predecessor volume of Debugging Applications for Microsoft .NET and Microsoft Windows, which dealt with Visual Basic 6, John Robbins broke new ground by codifying the techniques and strategies involved in debugging Microsoft Windows applications. In this tremendously revised and much longer version (in keeping with Microsoft's substantial shift to the .NET architecture), Robbins achieves great progress in making a proper professional discipline out of debugging--and in showing how to design software to keep bugs from appearing in the first place.

The greatest value of Robbins' work is in his treatment of bugs' origins in flawed software design and their later manifestation in faulty coding practice. He explains in great detail, for example, how to use assertions (in concert with error handling) to keep bad data from getting into software modules and causing trouble. This coverage is why your development team should read this book before getting too far down the development path.

If you're already done with your software system and just can't make it work right (and, naturally, the Deadline of Death is looming), this book offers hope as well. Want to write a method that you invoke manually only when the program is at a breakpoint in the debugger? This book shows how. Need lots of details on how to add assembly-language code to your Visual C++ .NET software? You'll find them here. There's a lot of information about how debuggers do their work in general, too. To put it concisely, this book contains a career's worth of information on how to keep bugs to a minimum and track them down when they occur. --David Wall

Topics covered: How to design Microsoft Windows software to minimize design flaws, implement designs with as few software errors as possible, and use diagnostic tools and techniques to squash bugs that make it into your systems. All the latest Visual Studio .NET tools get attention, as do techniques for getting the most out of those tools. Specific coverage goes to strategies for fixing thread deadlock problems, resolving memory troubles, and reading Dr. Watson dumps.

About the Author

John Robbins is a co-founder of Wintellect, a .NET and Windows consulting and education firm. Wintellect's mission is to help companies ship better software faster using any Microsoft platform. He concentrates on the emergency debugging and consulting aspects of the business. John also teaches other developers how to better debug so they can solve their development problems faster with his course "Debugging Applications." John has worked on debugging or tuning a wide range of applications from companies such as eBay, Microsoft, and AutoDesk, as well as many corporate development shops. In addition to writing both editions of Debugging Applications, John is a contributing editor to MSDN Magazine where he writes the popular Bugslayer column. Before founding Wintellect, John was one of the first engineers at NuMega Technologies (now Compuware Corporation) where he was a key player in designing, developing and managing many of the most-used and award-winning developer tools in the C/C++, Microsoft Visual Basic, and Java marketplace. Prior to stumbling into software development in his late 20s, John was a paratrooper and Green Beret in the United States Army. Since he no longer gets the same adrenaline high that he used to jumping out of airplanes in the middle of the night onto an unlit, postage-stamp-size drop zone with a full combat load, he rides motorcycles at high rates of speed--much to his wife's chagrin. Wintellect


Best Books of the Month
Best Books of the Month
Want to know our Editors' picks for the best books of the month? Browse Best Books of the Month, featuring our favorite new books in more than a dozen categories.

Product Details

  • Series: Developer Reference
  • Paperback: 801 pages
  • Publisher: Microsoft Press (April 5, 2003)
  • Language: English
  • ISBN-10: 0735615365
  • ISBN-13: 978-0735615366
  • Product Dimensions: 7.6 x 2.3 x 9.4 inches
  • Shipping Weight: 3.9 pounds
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon Best Sellers Rank: #719,448 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

5 star
4 star
3 star
2 star
1 star
See all 12 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

22 of 24 people found the following review helpful By Elijah D on April 12, 2003
Format: 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.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
5 of 5 people found the following review helpful By Brent A. Thale on January 7, 2005
Format: 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.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
41 of 57 people found the following review helpful By Paul Selormey on September 23, 2003
Format: 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
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!
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 4 people found the following review helpful By rocks are people too on December 1, 2003
Format: Paperback
The original was a gem, and I used it extensively, but the code and tools that came with that version are now out of date. The .NET version adds tremendous value with a whole new suite of power debugging tools that just weren't there before. Although a few of the introductory chapters are similar, it's a huge overhaul of the original once you get into the heart of the book.
I've been using the native code sections of this book, rather than the .NET sections. Most of the book, expecially the power debugging stuff, is still focused on native code. However, I don't think the "Below the belt..." review did this book justice. If you are at all serious about debugging on Windows platforms, read and use this book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 4 people found the following review helpful By G. Harris on May 7, 2004
Format: Paperback Verified Purchase
This book is a book for the advanced programmer who says "I already know how to build a halfway decent windows app, how do I take my debugging to the next level and deliver truly good apps?"
This book covers real-world debugging issues that plague programmers and are difficult to solve, such as multi-threading and memory issues amongst others. Also this book has several entertaining real-world scenarios that can help give you perspective on debugging.
However this book is not for the beginner, a solid grasp of programming is essential for this book. However those with a good grasp of what programming is about with at least a basic knowledge of .NET will be right at home with this book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

What Other Items Do Customers Buy After Viewing This Item?

Want to discover more products? Check out this page to see more: programming