Hello YixunZhou 1. Have you read [1]? This is a good start. 2. It's hard to guess where your problem is. It's likely you should manually help the debugger locating CallStaticVoidMethod source on your computer.
[1] http://wiki.apache.org/harmony/Debugging%20DRLVM%20with%20GDB%20on%20Linux On Thu, Feb 19, 2009 at 6:19 AM, YixunZhou <[email protected]> wrote: > Hi all, > > I modified harmony to make it support ClassRedefine, but I got a > segmentation fault when called new to create an instance of > the new version class. I changed to interpreter mode, and found the problem > happened when executing OPCODE_INVOKESPECIAL. > > case OPCODE_INVOKESPECIAL: > // Next line marks the > "P_TLS_vmthread->thread_exception" that an exception happened. > Opcode_INVOKESPECIAL(frame); > // get_current_thread_exception can not > handle the exception properly and cause the segment fault. > frame.exc = get_current_thread_exception(); > > I was using "printf" to locate the bug, but it is too complicated here. But > when I use gdb to trace the execution, it cannot follow the function > pointer "(*env)->CallStaticVoidMethod (env, cls, mid, args);" in main.c. > > So, how can I use gdb to debug the interpreter? Thanks. > > > -- > > Best regard, > Yixun Zhou > [email protected] > > > -- С уважением, Алексей Федотов, ЗАО <<Телеком Экспресс>>
