24 September 2006

Bidirectional debugger

I wrote a few articles on debugging for International Developer magazine & en-route ran across a reversable debugger for Linux called UndoDB.

This straps onto dgb or ddd or whatever, and adds reversability. Where you once stepped the cursor over instructions, now you can step it under those instructions, back-stepping or completely time-jumping your program backwards. Smoothly.

Needless to say, this can make debugging much easier, since you can now start with an exposed problem, and back-track until the problem goes away. The rewinding even includes putting back the pseudo-random values initially placed in local variables (in C), so a bug which depends on one of these values can be re-created. This made choosing examples for my articles very easy.

I was also pleased to see free “not-for-profit” licences available, and a 30-day trial run, so one can test it out for one’s self, to see how well it really does work before buying it. Very reassuring.

No comments: