On Thu, 30 Dec 1999, Nathan Meyers wrote:
> richard johnson wrote:
> >
> > Hello,
> >
> > I am in the process of porting a JNI dynamic library to
> > Unix that was developed on wiindows. I have made
> > some errors and would like to debug but am having
> > some troubles using ddd and gdb.
>
> JNI debugging is a bit tricky, because of the need to set a breakpoint
> in code that isn't loaded until after you've been running a while. You
> might want to look at
> http://www.mail-archive.com/java-linux@java.blackdown.org/msg10450.html
> for an earlier discussion about how to do it. This isn't the only
> solution, and it isn't always the best one, but it often works.
>
Nathan,
I want to thank you for your help with the debugging of the my
unloaded native lib. The use of the LD_PRELOAD allowed me
to set the breakpoint in my native library (after as you suggested,
setting the breakpoint in main() and stopping there). I bought
your book too!
Unfortunately, I am not reaching this breakpoint instead dying
during jvm initialization trying to create the SIGQUIT handler. I get the following
message in the gdb window of my ddd debugger session:
Program received signal ?, Unknown signal.
0x4012eb6e in __sigsuspend (set=0xbffff2a8) at
../sysdeps/unix/sysv/linux/sigsuspend.c:48
48 ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory.
The call stack looks like this:
in __sigsuspend ... at ../sysdeps/unix/sysv/linux/sigsuspend.c:48
in __pthread_create_2_1 ...at restart.h:32
in sysThreadCreate ...at
../../../../../src/linux/hpi/native_threads/src/threads_md.c:403
in threadCreate ... at ../../../../src/share/javavm/runtime/threads.c:167
in createSystemThread "SIGQUIT handler" ...at
../../../../src/share/javavm/runtime/threads.c:506
in InitializeSignals ...at ../../../../src/linux/javavm/runtime/signals_md.c:548
in InitializeJavaVM ...at ../../../../src/linux/javavm/runtime/javai.c:847
in JNI_CreateJavaVM ...at ../../../../../src/share/javavm/runtime/jni.c:3263
in InitializeJVM ...at ../../../../../src/share/bin/java.c:467
in main ...at ../../../../../src/share/bin/java.c:173
It looks like I am missing some file or have a bad path somewhere that causes the
"SIGQUIT handler" to abort. Does anyone know what file or directory is being
sought? What do I do next? Should I install the debug version? Is there
documentation
available that describe the jvm initialization?
I am using SuSE 6.2 (glibc2.1), blackdown jdk1.2 pre release v2`
TIA
Rich Johnson
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]