JVMTI lib location

David Holmes david.holmes at oracle.com
Mon Aug 13 03:55:37 UTC 2018


dropped core-libs

On 13/08/2018 11:52 AM, mr rupplin wrote:
> Where are the source codes for the following methods:
> 
> 
>   err = (*jvmti)->GetMethodDeclaringClass(jvmti, frames[i].method, &declaring_class);
> 
>   err = (*jvmti)->GetClassSignature(jvmti, declaring_class, &declaringClassName, NULL);

JVM TI is partially defined via xml that is processed at build time to 
generate some of the sources. If you grep in your build directory you'll 
fine eg:

./hotspot/variant-server/gensrc/jvmtifiles/*

You should be able to see how that redirects calls back to the sources 
in ./share/prims/jvmtiEnv.cpp 9for example).

David

> Thanks,
> 
> Max
> ________________________________
> From: David Holmes <david.holmes at oracle.com>
> Sent: Sunday, August 12, 2018 7:07 PM
> To: mr rupplin; core-libs-dev at openjdk.java.net; serviceability-dev
> Subject: Re: JVMTI lib location
> 
> Hi Max,
> 
> On 11/08/2018 6:41 AM, mr rupplin wrote:
>> Trying to write a quick agent for the JVM.  The jvmti.h file is found quickly but I do not know what to link it with.  Can you guys help?
> 
> JVM TI is a serviceability-dev topic, though that's really about
> developing JVM TI not using it. There are numerous tutorials/blog pages
> on using JVM TI e.g. [1]. IIUC the JVM TI agent library is dynamically
> loaded into the JVM and thus dynamically linked with the JVM TI runtime
> - so you don't have to link your library with anything to access JVM TI.
> 
> David
> 
> [1] http://www.oracle.com/technetwork/articles/javase/index-140680.html
> 
>> Thanks.
>>
>> Max r.
>>


More information about the serviceability-dev mailing list