This book was born in 1981 when a group of test technicians at Gould asked me if I could write a
document on how to troubleshoot our hardware products. I was at a loss—the products were boards
with hundreds of chips on them, several microprocessors, and numerous communications buses. I
knew there was no magical recipe; they would just have to learn how to debug things. I discussed
this with Mike Bromberg, a long time mentor of mine, and we decided the least we could do was
write up some general rules of debugging. The Ten Debugging Commandments were the result, a
single sheet of brief rules for debugging which quickly appeared on the wall above the test benches.
Over the years, this list was compressed by one rule and generalized to software and systems, but
it remains the core of this book. So to Mike, and to the floor techs who expressed the need, thanks.
Over the years, I've had the pleasure of working for and with a number of inspirational people who
helped me develop both my debugging skills and my sense of humor. I'd like to recognize Doug
Currie, Scott Ross, Glen Dash, Dick Morley, Mike Greenberg, Cos Fricano, John Aylesworth (one of
the original techs), Bob DeSimone, and Warren Bayek for making challenging work a lot of fun. I
should also mention three teachers who expected excellence and made learning enjoyable: Nick
Menutti (it ain't the Nobel Prize, but here's your good word), Ray Fields, and Professor Francis F.
Lee. And while I never met them, their books have made a huge difference in my writing career:
William Strunk Jr. and E. B. White (The Elements of Style), and Jeff Herman and Deborah Adams
(Write the Perfect Book Proposal).
To the Delt Dawgs, my summer softball team of 28 years and counting, thanks for the reviews and networking help. I'm indebted to Charlie Seddon, who gave me a detailed review with many helpful
comments, and to Bob Siedensticker, who did that and also gave me war stories, topic suggestions,
and advice on the publishing biz. Several people, most of whom I did not know personally at the
time, reviewed the book and sent me nice letters of endorsement, which helped get it published.
Warren Bayek and Charlie Seddon (mentioned above), Dick Riley, Bob Oakes, Dave Miller, and
Professor Terry Simkin: thank you for your time and words of encouragement.
I'm grateful to the Sesame Workshop, Tom and Ray Magliozzi (Click and Clack of Car Talk—or is it
Clack and Click?), and Steve Martin for giving me permission to use their stories and jokes; to Sir
Arthur Conan Doyle for creating Sherlock Holmes and having him make so many apropos
comments; and to Seymour Friedel, Bob McIlvaine, and my brother Tom Agans for relating interesting war stories. And for giving me the examples I needed both to discover the rules and to
demonstrate them, thanks to all the war story participants, both heroes and fools (you know who
you are).
Working with my editors at Amacom has been a wonderful and enlightening experience. To Jacquie
Flynn and Jim Bessent, thank you for your enthusiasm and great advice. And to the designers and
other creative hands in the process, nice work; it came out great.
Special appreciation goes to my agent, Jodie Rhodes, for taking a chance on a first−time author
with an offbeat approach to an unfamiliar subject. You know your markets, and it shows.
For their support, encouragement, and countless favors large and small, a special thanks to my
in−laws, Dick and Joan Blagbrough. To my daughters, Jen and Liz, hugs and kisses for being fun
and believing in me. (Also for letting me have a shot at the computer in the evenings between
high−scoring games and instant messenger sessions.)
And finally, my eternal love and gratitude to my wife Gail, for encouraging me to turn the rules into a
book, for getting me started on finding an agent, for giving me the time and space to write, and for
proofreading numerous drafts that I wouldn't dare show anyone else. You can light up a chandelier
with a vacuum cleaner, but you light up my life all by yourself.
......(更多)
Dave Agans is a 1976 MIT graduate whose engineering career spans large companies such as
Gould, Fairchild, and Digital Equipment; small startups, including Eloquent Systems and Zydacron;
and independent consulting for a variety of clients. He has held most of the customary individual
contributor titles as well as System Architect, Director of Software, V.P. Engineering, and Chief
Technical Officer. He has played the roles of engineer, project manager, product manager, technical
writer, seminar speaker, consultant, and salesman.
Mr. Agans has developed successful integrated circuits, TV games, industrial controls, climate
controls, hotel management systems, CAD workstations, handheld PCs, wireless fleet dispatch
terminals, and videophones. He holds two U.S. patents. On the non−technical side, he is a
produced musical playwright and lyricist.
Dave currently resides in Amherst, New Hampshire, with his wife, two daughters, and (when they
decide to come inside) two cats. In his limited spare time, he enjoys musical theatre, softball,
playing and coaching basketball, and writing.
......(更多)
......(更多)
一种常见的情况是启用调试器会极大减慢系统的速度,以至于 bug 不再出现了——这就是它们被称为 debugger 的原因。
So put this book on your nightstand or in the bathroom, and in two weeks you'll be a debugging star
......(更多)