chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Debuggery


From: felix
Subject: Re: [Chicken-users] Debuggery
Date: Wed, 17 Mar 2004 22:01:18 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113

Peter Keller wrote:
On Wed, Mar 17, 2004 at 09:12:52PM +0100, felix wrote:

Agreed. The problem is that there is often very little information available
at runtime, partly because I wanted to keep too much overhead out of compiled
code and partly because I simply didn't show much forethought.
I'm open to suggestions, of course.


I've spoken quite a long time with Felix about fixing Chicken to allow
debugging of the native binaries at runtime by redoing some of the
code translation a little bit to create explicit stack frames that
contain debugging information in them. But I unfortunately don't have
much time to invest in it currently (and for the next several months
at least). If someone would like to help me finish the design for it
so it can be presented to felix for his final judgement on the method,
I would be very appreciative.

I don't have much formally written up, but I can dig up my conversations
with Felix and put something together if someone is seriously willing
to take a look at it.


[Oops, I just sent my reply to Michele, mentioning your ideas]

Hi, Peter!

A full native code debugger would be HEAVEN. No doubt about it.
But changing the compiler and runtime-system so completely is currently
not an option, I'm afraid. The very fact that we can use standard C
call-frames makes the Cheney-on-the-MTA approach so elegant (and I
believe efficient as well).

Perhaps an extra argument per call that contains the debug-info?
Or a global variable? Currently we have C_trace(), which could perhaps
be extended to add extra information to the global trace-ring...

Portability is an issue as well. To seamlessly debug Scheme and C, one
probably has to write something on top of gdb, or even write a low-level
debugger from scratch (shudder!). I have absolutely *no* idea how such
stuff is done, and (naturally) it wouldn't work on Windoze (which is not
a big issue, but unfortunate).


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]