Next: , Previous: , Up: Top   [Contents][Index]


7 History and Acknowledgments

My idea for a debugger for GNU Remake came about on working on a debugger for bash (http://bashdb.sourceforge.net). I knew the bash debugger was good enough when it was able to debug autoconf-generated script which are tens of thousands of lines long.

But almost immediately after scaling this new height, I became sunk deep in depression when I realized that to debug the configuration mess I also needed to deal with Makefiles, if not also autoconf, and automake as well.

After seeing an article on the auto-configuration mess http://freshmeat.net/articles/view/889 I posted a query to ask if anyone was interested in writing a debugger for GNU Remake.

Almost year goes by and no takers. To put this in perspective. it was over a decade before someone (me) did anything about a debugger for bash. I was reminded of my query by accident when I got a query from one of the GNU mailing lists that I am on regarding a problem in email on the GNU Make mailing list.

That jogged my memory. So I suggested the idea of a debugger to this list, and was told how incredibly difficult it would be to write a debugger and how incredibly unique GNU Make is. At that point I looked into the code and to my surprise and delight I found that in contrast to BASH the code, GNU Make is much smaller and written in a more modern coding style (although certainly it could use much improvement). In fact, it had most of the information stored that would be helpful in a debugger. All I would need to do is add a GNU readline for the debug loop, extend to save a target stack and track line numbers and report line numbers better. But this last part I’d been through with the bash debugger.

All in all, I’ve been very pleased at how far I’ve been able to get with much less effort than needed for the bash debugger. That’s not to say that much work isn’t still needed or that the overall design couldn’t be improved.

This documentation was modified from the GNU Bash Debugger (bashdb) Reference manual which in turn was modified from GNU Bash debugger (gdb).

Many thanks to Yaroslav Halchenko who moved the CVS code over to git on github. He is also packages this for Debian. And thanks to all the other packagers for the other OS distributions.

Additions to this section are particularly welcome. If you or your friends (or enemies, to be evenhanded) have been unfairly omitted from this list, we would like to add your names!


Next: , Previous: , Up: Top   [Contents][Index]