I just did some more expiriments. This time, I wrote a program that could resolve the stacktrace for me. I'll release that later, if it helps anybody.
This is the program I use:
library exception;
uses
pastrace,
SysUtils,
log,
JNI;
procedure ErroniousCall();
var
J: PInteger;
begin
J := nil;
J^ := 5;
end;
procedure OneMoreCall();
begin
ErroniousCall();
end;
procedure NextCall();
begin
OneMoreCall();
end;
procedure SomeCall();
begin
NextCall();
end;
function Java_com_example_exception_Exception_execute(PEnv: PJNIEnv; this: JObject): JString;
begin
//This will help us generate good stacktraces
pastrace_init('exception test');
SomeCall();
Result := (PEnv^).NewStringUTF(PEnv, 'Hello world!');
end;
exports Java_com_example_exception_Exception_execute;
begin
end.
[code]
However, This is my (homebrewn) stacktrace:
[code]
Symbol (00061078, _$PASTRACE$_Ld4 in section .rodata) in libexception.so
Symbol (000207D0, SYSTEM_NEWANSISTRING$LONGINT$$POINTER + 20 in section .text) in libexception.so
Symbol (0002EFE4, SYSTEM_SYSOSFREE$POINTER$LONGWORD + 12 in section .text) in libexception.so
Symbol (0002F660, SYSTEM_FREE_OSCHUNK$PFREELISTS$POSCHUNK + 160 in section .text) in libexception.so
Symbol (0002F6E4, SYSTEM_APPEND_TO_OSLIST$POSCHUNK + 124 in section .text) in libexception.so
Symbol (00030508, SYSTEM_SYSFREEMEM$POINTER$$LONGWORD + 124 in section .text) in libexception.so
Symbol (0003048C, SYSTEM_SYSFREEMEM$POINTER$$LONGWORD in section .text) in libexception.so
Symbol (0002F200, SYSTEM_FREEMEM$POINTER$$LONGWORD + 20 in section .text) in libexception.so
Symbol (000208DC, fpc_ansistr_decr_ref + 96 in section .text) in libexception.so
Symbol (00009C94, P$EXCEPTION_ONEMORECALL + 20 in section .text) in libexception.so
Symbol (00009C64, P$EXCEPTION_ERRONIOUSCALL + 12 in section .text) in libexception.so
the only ones that make sense are EXCEPTION_ONEMORECALL and EXCEPTION_ERRONIOUSCALL. The rest is just... weird.
I did resolve every symbol on the stack that was located in my library (had it's path next to it). Just wondering whether this is a real stacktrace, or just a stackdump with it's symbols resolved.