gdb and java

Chris Dennis cdennis at terracottatech.com
Thu Feb 26 13:34:13 PST 2009


I've not tried launching a java process directly from gdb recently,  
but I have attached to running java processes numerous times with  
various VMs (OpenJDK and not) and I've never had any problems doing  
simple things (backtraces, stackdumps etc...).  Perhaps you could try  
attaching dynamically once everything is up and running (albeit with  
some modification so that your java process waits for you)?

Chris

On Feb 26, 2009, at 3:54 PM, Brian Gardner wrote:

> Thanks Swamy,
> Same thing happens using java directly.
>
> Swamy Venkataramanappa wrote:
>>
>> 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  sun.jvm.hotspot.tools.JMap
>> -finalizerinfo <pid>
>>
>> -Swamy
>>
>> 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/ld-elf.so.1
>>> (gdb)
>>>
>>>
>>>
>>>
>>
>>
>



More information about the freebsd-java mailing list