Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers) 1st Edition

4.5 out of 5 stars 15 customer reviews
ISBN-13: 978-1934356289
ISBN-10: 193435628X
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Buy used On clicking this link, a new layer will be open
$6.34 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$23.85 On clicking this link, a new layer will be open
More Buying Choices
27 New from $15.99 27 Used from $2.34

| Try Fast, Free Shipping
Amazon Prime members enjoy:
  • FREE Two-Day shipping on millions of items
  • Thousands of movies and TV shows with Prime Video
  • Over one million ad-free songs on Prime Music
  • Unlimited photo storage with Prime Photos
Try Prime
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Security
ITPro.TV Video Training
Take advantage of IT courses online anywhere, anytime with ITPro.TV. Learn more.
$23.85 FREE Shipping on orders with at least $25 of books. Only 4 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers)
  • +
  • 97 Things Every Programmer Should Know: Collective Wisdom from the Experts
  • +
  • Clean Code: A Handbook of Agile Software Craftsmanship
Total price: $84.31
Buy the selected items together

Customers Viewing This Page May Be Interested In These Sponsored Links

  (What's this?)

NO_CONTENT_IN_FEATURE
New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Series: Pragmatic Programmers
  • Paperback: 232 pages
  • Publisher: Pragmatic Bookshelf; 1 edition (November 25, 2009)
  • Language: English
  • ISBN-10: 193435628X
  • ISBN-13: 978-1934356289
  • Product Dimensions: 7.5 x 0.7 x 8.9 inches
  • Shipping Weight: 1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (15 customer reviews)
  • Amazon Best Sellers Rank: #1,163,371 in Books (See Top 100 in Books)

Customers Viewing This Page May Be Interested In These Sponsored Links

  (What's this?)

Customer Reviews

Top Customer Reviews

Format: Paperback
Earlier this year, I had the opportunity to do a technical review of Paul Butcher's new book "Debug It!" and now that it's been published I'm pleased to be able to review the final product. A number of classic programming books, such as Steve Maguire's "Writing Solid Code" or Steve McConnell's "Code Complete", touch on debugging as one aspect of the software development process, but I'm not sure that I've ever seen or read an entire book devoted to the topic of debugging software. In that regard, Paul's new book fills a pretty interesting niche.

Paul breaks the debugging process up into four stages: reproduce, diagnose, fix and reflect. These stages are covered in detail in the first five chapters of the book, and this is the most important section. In the chapter on reproducing bugs, he touches on topics such as how to control the environmental conditions under which bugs manifests themselves, and techniques for reproducing the inputs that trigger the bugs. He also addresses some of the difficulties involved in dealing with especially difficult-to-reproduce nondeterministic bugs. In the chapter on diagnosis, Paul moves on to the process of forming a hypothesis about what's causing the bug and then performing experiments to refine that hypothesis until you settle in on a root cause. There are a lot of useful guidelines here, including my favorite: Only change one thing at a time! The chapter on fixing bugs is relatively short, which reflects the reality that once you understand what's going on it's usually not that difficult to fix the problem. Here the author stresses the importance of adding regression tests, and making sure that you're fixing the root cause and not merely the symptoms.
Read more ›
Comment 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Too many people think that debugging just means "using the debugger." Like any tool, debuggers can provide valuable information, but the ability to get into the experimental mindset is much more valuable. This book has its priorities in order. It lays down the foundation for the debugging process first, before getting into specific techniques and tools.

Newer developers will get the most out of this book, as it lays the groundwork for solid practices---like finding the minimal reproduction of a bug, or adding logging non-invasively.

Intermediate developers will be able to use the catalogue of techniques like an artist's palette. "Have I tried changing the timing to make this concurrency problem happen sooner? Have I tested this boundary condition?"

Experts will pick up a trick or two as well, such as automatic checking of exception-safety.

The book sprinkles rallying cries throughout: "One Change at a Time," "Suspect Your Own Code First," and so on. These will be useful as reminders even for readers who think they've been there, done that.
Comment 10 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
This book gives a high level overview of the debugging process, and does a fine job of it. But I wanted a far more technical book. Maybe a chapter on advanced gdb, and another on valgrind. I wanted advice on examining core files. I would have liked a chapter debugging multithreaded programs; instead there are three pages with the advice "don't use sleep()". How about using emulators to trace really nasty bugs. This book does not contain the low level details, tricks, and techniques I want to learn.

There are a number of vignettes, fun war stories. I enjoyed reading these.
2 Comments 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Debug It! is now on my shelf beside classics like The Pragmatic Programmer and Steve McConnell's Code Complete.

While Debug It! hews to its pragmatic nature, walking the reader through how to approach debugging in a consistent and logical manner, this book also covers how to design for testability (including TDD and code coverage) and how to make a number of tricky debugging scenarios more manageable.

In fact, I recently used a suggestion from the book to flush out a nasty threading bug we were having a hard time reproducing.

Highly recommended!
Comment 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
Paul Butcher with a warm and friendly tone shares his wisdom on how to reproduce, diagnose, fix and examine ones in a highly enjoyable book suitable for both new developers and technical leads. I cannot think of a single criticism of the book: it was organized well, put forth good concepts, showed them practically applied, had fun side stories and code examples here illustrate certain points. I found myself nodding in agreement through most of the book and being familiar already with most of the ideas, but the articulation of certain points for example: on when to use branching or not provided me with simple and clear arguments that will be very useful in workplace discussions.
Comment One person found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
"Debug It!" covers a topic not many programmers and developers spend time thinking about - fixing problems in their own and others code. Prior to this book, learning to debug, fix, and eventually avoid bugs was a process of experience. With Paul's book, programmers and developers can apply well-defined techniques to debugging and increase their productivity.

The book is well written and easily approachable for just about anyone. Especially valuable are the sections on talking with non-technical staff and writing code that can help debug itself. If I have a complaint about the book, it's certainly not with the content. Even though the paper the book is printed on is heavier stock, it feels cheap.
Comment 4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers)
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Debug It!: Find, Repair, and Prevent Bugs in Your Code (Pragmatic Programmers)

Pages with Related Products. See and discover other items: computer programs