Software Design by Example in Python 26: A Debugger
As I wrote two weeks ago, two things led me to write the JavaScript and Python versions of Software Design by Example: Mary Rose Cook’s Gitlet and the question, “How does a debugger work?” Earlier chapters addressed the first, and Chapter 26: A Debugger addresses the second.
I’ve complained many times over more than two decades about the fact that universities don’t teach debugging as a first-class skill, and that while there are hundreds of books on how to write compilers, I’ve only ever found three that explained how to write a debugger (none of which were particularly good). Showing people how to create and manage breakpoints isn’t going to fix that, but I’m glad I had a chance to do what I could.
My thanks to Jennifer Moore, Naomi Ceder, and Sue Smith for the reviews now posted on this site’s home page: I’m glad they enjoyed the book.
Terms defined: breakpoint, clear (a breakpoint), conditional breakpoint, debugger, disassemble, reverse lookup, watchpoint.