[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libunwind] Success!
From: |
David Mosberger |
Subject: |
Re: [libunwind] Success! |
Date: |
Fri, 12 Dec 2003 10:18:06 -0800 |
Hi Johan,
>>>>> On Fri, 12 Dec 2003 14:28:42 +0100, Johan Walles <address@hidden> said:
Johan> I have been able to create the following stack trace:
Johan> 0: RNI_jrockit_vm_NativeFluff_printInt+80
Johan> 1: jrockit/vm/NativeFluff.printInt(I)V+e0
Johan> 2: PrintInt.main([Ljava/lang/String;)V+20
Johan> 3: jrockit/vm/RNI.rniCallMethod2java()V+3c0
Johan> 4: callC2Java+14f0
Johan> 5: call_java+390
Johan> 6: jniCallStaticVoidMethodV+c0
Johan> 7: jniCallStaticVoidMethod+d0
Johan> 8: main+2150
Johan> 9: __libc_start_main+230
Johan> 10: _start+80
Johan> Frame 0 is a native C function called from Java.
Johan> Frame 1 is the Java method stub.
Johan> Frame 2 is the main method of my Java class.
Johan> Frames 3-7 are JRockit's invocation of my main() method
Johan> Frame 8 is JRockit's main() function.
Johan> Frames 9-10 are libc's / Linux' invocation of JRockit's main() function
Johan> Frames 1-3 are dynamically generated.
Johan> I still have lots of cleaning up to do, but so far I haven't
Johan> had any libunwind related problems.
Johan> Woho!
Excellent! Congrats to reaching this milestone!
Out of curiosity: are you planning to register a personality routine
for (some of) the JIT-generated frames? I'm not sure it would be
needed, but I guess it might be needed if, say, a C++ function called
from Java were to raise an exception that needs to be caught in Java.
In theory, everything needed from the dynamic unwind API should be in
place, but in practice, it hasn't been tested so far, hence my
asking... ;-)
--david