[M3devel] Why do we need external debugging?

Hendrik Boom hendrik at topoi.pooq.com
Tue Apr 2 15:08:26 CEST 2013


On Mon, Apr 01, 2013 at 02:53:37PM -0700, Darko wrote:
> The last time I used an external or lowish-level debugger was the last time I programmed in a language other than M3. I find the language so safe and reliable that I don't quite understand the need for external debuggers. Is it driven by a need to integrate with other languages or external libraries?
> 
> Why can't a debugger be optionally compiled into the code and supported by the runtime? I find I don't need much more than the ability to log procedure execution, procedure parameters and local variables. I imagine some sort of debugging mode with a simple command line and an interrupt mechanism would facilitate interactive debugging.
> 
> Am I the only one who thinks this?

Internal debuggers are great for programs that are written all in one 
language.

But not so great when multiple languages are involved.

Unfortunately, the debuggers we have don't seem to have evolved to 
exhibit the interfaces needed for source languages significantly 
different from C.

C-- has primitives for stack-walking, on which a debugging-style 
stack-walker could be built, but even here there's no canonical way to 
provide variable-name information and the like.

-- hendrik



More information about the M3devel mailing list