input line is too long
Erik Poupaert
erik.poupaert@chello.be
Thu Jan 2 10:22:00 GMT 2003
>>>>> Another possibility is that we couldn't find the implementation for a
>>>>> native method named `GetVersionExW'.
When I make an objdump of the executable, it says:
SYMBOL TABLE:
[17212](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x000fe73f
_Java_org_eclipse_swt_internal_win32_OS_GetVersionExW@12
When I make an objdump of the jni-dll, it says:
[Ordinal/Name Pointer] Table
[ 316] _Java_org_eclipse_swt_internal_win32_OS_GetVersionExW@12
The symbols are exactly the same and available in both cases.
Since natruntime.cc registers the executable itself as a library, JNI
methods should be resolved in the first place from the executable's symbols
(it is the very first library to be added):
java::lang::Runtime::init (void)
lt_dlhandle self = lt_dlopen (NULL);
if (self != NULL)
add_library (self);
Unless lt_dlopen returns NULL for the one or the other strange reason? I'd
really like to dump self's value to the console when he goes through this
little bit, but these things still don't compile on my machine.
The lt_dlopen doc says:
"""If filename is NULL and the program was linked with -export-dynamic
or -dlopen self, lt_dlopen will return a handle for the program itself,
which can be used to access its symbols."""
I tried to gdb through java::lang::Runtime::init, to see what the value of
the lt_dlhandle returned is, but I can't step through its lines:
#0 0x005347e5 in java::lang::Runtime::init() ()
#1 0x0052c2fd in java::lang::Runtime::__U3c_clinit__U3e_() ()
#2 0x0050fb9f in java::lang::Class::initializeClass() ()
#3 0x0052c1d0 in java::lang::Runtime::getRuntime() ()
#4 0x0050ba07 in _Jv_RunMain(java::lang::Class*, char const*, int, char
const**, bool) ()
#5 0x0050bb3b in JvRunMain ()
#6 0x004012bb in main (argc=1, argv=0xd33ed0)
at C:/DOCUME~1/ERPO/LOCALS~1/Temp/ccUzaaaa.i:0
(gdb) s
Single stepping until exit from function _ZN4java4lang7Runtime4initEv,
which has no line number information.
Is there a reason why gdb does not want to stop inside
java::lang::Runtime::init()?
More information about the Java
mailing list