[kaffe] Using Kaffe with remote debugging via Eclipse

Dalibor Topic robilad at kaffe.org
Wed Aug 18 10:49:35 PDT 2004

Woloszynski, Charles wrote:
> I am looking to use Kaffe as the target VM for an embedded system.  We
> would like to use Eclipse as the development IDE.  Has anyone worked on
> supporting remote debugging (JPDA) under kaffe?  I saw some old posts
> that this was partly done.  Can anyone comment on its status?

Hi Charles,

unfortunately, there is no JDPA implementation for Kaffe available. I've 
CC:ed Derek L Davies, who did some work on JPDA support in 2000, maybe 
he can comment on the status of his work, and point you to unmerged patches.

An interesting way[6] to provide a general debugger support for free 
platforms, would be to take the gdb MI bindings [2] in eclipse's CDT 
code [1], and use them to write a Kaffe-specific mapping of JDWP 
commands to gdb MI commands to inspect the running code. On top of that. 
you'd need to write an implementation of JDWP, but that shouldn;t be 
that hard, if you can use code from [3],[4],[5] or [8].

The ideas behind using a runtime-specific gdb <-> JDWP mapping are that

a) all other parts of the JPDA can be runtime agnostic
b) gdb is available on and for most platforms
c) gdb allows remote debugging for embedded devices
d) JDWP commands may be able to be translated into gdb MI by looking at 
developers/gdbinit for kaffe, for example
e) native and java code could both be debugged through gdb MI
f) kaffe already can emit debug info for gdb for some jits (xdebugging)
g) in future, when gcj's bc abi stabilizes, and we can use gcj-ed 
libraries, one would be able to debug both kaffe's code and gcj'ed code 
through the same interface: gdb MI.

but it takes a volunteer to prove them in practice. :)

If you take a look at 
http://java.sun.com/j2se/1.4.2/docs/guide/jpda/architecture.html this 
approach would mean that we replace the native JVMDI bit with something 
that talks to gcb directly.

Other free runtimes have some rudementary debugger support:

Electrical Fire : [9], [10]
Wonka : [11]

dalibor topic

[1] http://www.eclipse.org/cdt/
[3] http://rubyforge.org/projects/rubyjdwp/
[4] http://www.zenspider.com/dl/rubyconf2003/RubyAndJDWP.pdf
[5] http://www.lichteblau.com/cloak/cl-jdi/README.html
[6] Shamelessly stolen from Tom Tromey[7]
[7] http://www.peakpeak.net/~tromey/free-java.html
[8] http://home.earthlink.net/~jdunrue/josdi/ which seems to have a GPLd 
JDWP implementation
[9] http://lxr.mozilla.org/ef/source/ef/Debugger/
[10] http://www.mozilla.org/projects/ef/techdocs/debugger/debugger.html
[11] http://www.acunia.com/cgi-bin/cvsweb.cgi/open-wonka/jpda/

More information about the kaffe mailing list