Debugging TADS3 on Linux

A while back I wrote a simple interactive debugger for TADS3/adv3 (there’s also an adv3lite version which I think works the same but I don’t use adv3lite so ymmv). It’s “just” TADS3 code itself, so it’s not a true debugger; it just uses the builtin reflection services and exception handlers to drop execution into a very simple bespoke debugging command parser and expression evaluator. It’s not much, but it does let you set breakpoints and/or drop into the debugger to look at the contents of the stack when the game barfs.

I do my TADS3 coding mostly on linux as well, and my debugging process is mostly a combination of using that and simple debug-by-printf()-ish stuff.

I’ve also written a very simple linter module for implementing linters, but that’s more for commemorating rules for static analysis that you yourself (as the game designer) come up with than doing “generic” debugging.

4 Likes