Looking for directions about compiling and tracing OpenJDK

Looking for directions about compiling and tracing OpenJDK

Elazar Leibovich elazarl at gmail.com
Tue Oct 9 13:41:02 IST 2012


Why do you need the Java source for that? Can't you use gdb, find out the
the address of the mmap'ed area, and add a watchpoint there (scripted to
log access and continue).

On Tue, Oct 9, 2012 at 1:06 PM, Amos Shapira <amos.shapira at gmail.com> wrote:

> Thanks to both of you.
>
> To give more details of what I'm after - I want to know whether the class
> bytecode address points into the mmap(2)'ed jar file or into malloc(3)'ed
> memory. I think I found part of the code path inside the jdk source which
> does this and now I'm trying to determine what are the situations in which
> each option is taken.
> Can JMX do that? The code I'm looking at is written in pure C.
>
> Amos
> On Oct 9, 2012 10:00 PM, "Jonathan Ben Avraham" <yba at tkos.co.il> wrote:
>
>> Hi Amos,
>> I did something like this with the JarSigner code in order to reverse
>> engineer it in C, which in the end I was able to do. IMHO, gdb is too high
>> a granularity to get anything usable out of the JVM execution. I suspect
>> that there is no alternative to sowing System.out.print's throughout the
>> code.
>> Regards,
>>
>>  - yba
>>
>>
>> On Tue, 9 Oct 2012, Amos Shapira wrote:
>>
>>  Date: Tue, 9 Oct 2012 10:57:29 +1100
>>> From: Amos Shapira <amos.shapira at gmail.com>
>>> To: linux-il <linux-il at cs.huji.ac.il>
>>> Subject: Looking for directions about compiling and tracing OpenJDK
>>>
>>> Hi,
>>>
>>> I have an idea which involves going somewhat deep into the bowls of the
>>> Java Jar class loader when using the official Oracle JDK 6 (and soon 7).
>>> To verify this I started looking at the JDK source code but it's not
>>> small and I'd like to try to trace through it while it executes Java
>>> programs.
>>>
>>> Does anyone here have experience in doing something like this and can
>>> give me some useful pointers on how to do this?
>>>
>>> I'd like to be able to do "gdb java -jar HelloWorld.jar" and single-step
>>> through the class loader while it loads HelloWorld.jar.
>>>
>>> Thanks,
>>>
>>> --Amos
>>>
>>>
>>>
>>>
>> --
>>  EE 77 7F 30 4A 64 2E C5  83 5F E7 49 A6 82 29 BA    ~. .~   Tk Open
>> Systems
>> =}----------------------------**--------------------ooO--U--**
>> Ooo------------{=
>>      - yba at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
>>
>
> _______________________________________________
> Linux-il mailing list
> Linux-il at cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20121009/f84ea1a5/attachment.html>


More information about the Linux-il mailing list