richard johnson wrote:
> 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 "no such file or directory" just means that gdb can't find the
source file in order to display source lines. The real problem here is
the unknown signal, which I don't know how to address. Does it only die
this early when running under the debugger?
Have you tried the Blackdown or Inprise JDK1.2.2 - those will give you
two additional sample points.
Nathan
>
> 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]
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]