Bonjour à tous,

Je travaille actuellement sur AIX 7.1 avec Java 1.7 (32 et 64 bits) et je réalise une application qui a pour but d'intercepter certaines fonctions Java liées au temps (currentTimeMillis et getLastModifiedTime) depuis une librairie C.

Cette application est un agent Java JNI avec lequel je peux intercepter la fonction "getLastModifiedTime" sans problème mais je suis incapable d'intercepter la fonction "currentTimeMillis".

Lorsque l'agent est chargé, j'utilise l'évènement JVMTI_EVENT_NATIVE_METHOD_BIND, puis j'effectue les redirections des fonctions Java vers des fonctions locales via la fonction "getMethodName". C'est à ce moment là que "getLastModifiedTime" est visible mais "currentTimeMillis" n'apparait pas dans la liste des fonctions chargées (par la VM je présume).

J'ai essayé de voir d'où le problème pourrait venir, il semblerait que se soit un problème de phase (erreur 112 retournée qui correspond d'après mes recherches aux phases d'initialisation de l'agent java).

PS : j'ai essayé la version 1.5 et 1.6 de Java aussi mais c'est pareil. Ce problème est uniquement sur AIX (sur HPUX, Solaris, Linux, Windows l'agent marche très bien)

Merci d'avance pour votre aide!