gdb and java

Swamy Venkataramanappa Swamy.Venkataramanappa at Sun.COM
Thu Feb 26 12:37:18 PST 2009

jmap is actually a java program. jmap executable is simple launcher just 
like a java launcher.
It launches java program and runs JMap.class from sa-jdi.jar or runs 
attach on demand
code and attaches to the running jvm.  SA based jmap can be run like this

java -classpath <jdkhome>/sa-jdi.jar  
-finalizerinfo <pid>


Brian Gardner wrote:
> I've had success in debugging java using jdb, however this doesn't seem 
> to support native debugging.  I'd like to use gdb but this doesn't work 
> with (the error is bellow).  Currently I'm printing to stderr from 
> native code but this is less than ideal and time consuming, any ideas?
> # gdb jmap
> (gdb) run -finalizerinfo 118
> Starting program: 
> /usr/home/brian/openjdk6/freshv2.2/bsd-port6.modified/build/bsd-amd64/j2sdk-image/bin/jmap 
> -finalizerinfo 118
> (no debugging symbols found)...(no debugging symbols found)...[New LWP 
> 104363]
> (no debugging symbols found)...(no debugging symbols found)...[New 
> Thread 0x800b01120 (LWP 104363)]
> [New LWP 104363]
> Program received signal SIGTRAP, Trace/breakpoint trap.
> [Switching to LWP 104363]
> Cannot remove breakpoints because program is no longer writable.
> It might be running in another process.
> Further execution is probably impossible.
> 0x000000080050d360 in ?? () from /libexec/
> (gdb)

More information about the freebsd-java mailing list