- Paperback: 304 pages
- Publisher: Newnes (April 5, 2007)
- Language: English
- ISBN-10: 0750682183
- ISBN-13: 978-0750682183
- Product Dimensions: 7.5 x 0.7 x 9.2 inches
- Shipping Weight: 1.5 pounds (View shipping rates and policies)
- Average Customer Review: 10 customer reviews
Amazon Best Sellers Rank:
#1,413,309 in Books (See Top 100 in Books)
- #77 in Books > Computers & Technology > Programming > Languages & Tools > Debugging
- #168 in Books > Computers & Technology > Hardware & DIY > Microprocessors & System Design > Microprocessor Design
- #204 in Books > Computers & Technology > Hardware & DIY > Microprocessors & System Design > Embedded Systems
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.
To get the free app, enter your mobile phone number.
If I Only Changed the Software, Why is the Phone on Fire?: Embedded Debugging Methods Revealed: Technical Mysteries for Engineers
Use the Amazon App to scan ISBNs and compare prices.
Customers who viewed this item also viewed
Customers who bought this item also bought
"Great title and a good read too, especially if you like stories from the trenches. Simone does more than just revive old ghosts. She brings out the debugging techniques in context." --William Wong, Electronic Design
From the Back Cover
This new book manages the unthinkable- it conveys crucial technical information to engineers without boring them to tears! In this unique reference, expert embedded designer Lisa Simone provides the solutions to typical embedded software debugging problems from a fresh new perspective. She introduces a team of engineers who readers will recognize from their own workplaces, and then confronts them with real-world debugging scenarios of progressive complexity, drawing the reader into the “mysteries with their new fictional colleagues, and guiding them step-by-step toward successful solutions.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Debugging is a difficult thing to teach. In fact, it seems to me to be more difficult to teach than to learn: I have never seen an attempt to teach debugging succeed on any greater level than a list of tips and rules of thumb. On the other hand, the most successful debuggers, and the most effective debugging efforts, have completely transcended any tips or rules. The person doing the debugging coupled a deep (if not specific) understanding of the system or at least technology in question to arrive on the trail of the problem almost mystically.
If I Only Changed the Software... does not try to present a grand theory of debugging, and it does have a list of tips, but it does more to teach the feeling of debugging than any other work I've read. Perhaps the fictional, narrative-based scheme can teach at least what the process of debugging looks like.
One nice (although some may feel otherwise) feature of the book is the use of, well, less than perfect code. Certainly, when I was less experienced than I am now I would have found the code a ghastly horror and a crime against nature. In fact, I would probably have been right. On the other hand, having seen more of other people's code, I now see the examples in the book as pretty typical.
The big benefit of the code is that it demonstrates a bug may not be the bug. For example, the function periodic_timer in one chapter appears to be called every ten milliseconds. A bug with the code I immediately spotted involves a comment about "1000 msec"; that code is actually executed every 100 milliseconds. However, the bug I spotted is completely unrelated to the bug described in the chapter. Executing the code more frequently than expected should not have any particular ill effects, certainly not involving the actual problem. That is a vital lesson for anyone doing debugging.
I would recommend If I Only Changed the Software... to just about any programmer, certainly one inexperienced in the task that has occupied much of my career. Although at least some exposure to low-level programming would be good, embedded programming experience is not a requirement. The book is focused on embedded debugging, but the lessons are applicable to any programming task.
It is a great book for college student to know the real life about embedded software engineering. It is also an excellent book to learn some basic technique about embedded system programming and debugging. I ordered several copies for my team. They all really enjoy reading it!
should be required reading either during school or as new employees in relevant positions.
Lots of your old debugging techniques just won't work in that world. Some will, but you'll need lots of new ones, too, and not just the ICE or logic analyzer. That's where this book comes in. Nine chapters present different debugging scenarios, fictional but based on real-world experience. In each Simone walks the reader through the problem, the debug sessions, some source code, and an eventual solution. As always, your brain is your best debugging tool, and Simone offers plenty of ways to use it many programmers won't have seen before.
For all the good in this book, I'm really not nuts about it. Each debug session has been scripted into a brief play between the four characters introduced. This mechanism allows Simone to walk through the debug reasoning in a realistic way and also lets her expose some of the human issues in system development. Still, it's a bit too "user friendly" for me - a notoriously unfriendly user. All that he-said/she-said interaction comes across as fluff; I prefer a higher density of technical content, others will prefer this book's chatty, conversational style.
That's just me, though. Battle-scarred embedded developers will anticipate many of the solutions here and see problems that don't get addressed, but this book wasn't meant for them. Instead, I think the intended reader is a seasoned C programmer who suddenly finds herself on the other side of the embedded looking glass. In addition to the real technical suggestions offered, this book might help that poor soul realize that she's not the only one dealing with such bizarre issues. For someone like me, less chat and more hard content would have been an improvement.