J'essaie d'ajouter un appel de méthode statique au constructeur java.lang.Object en utilisant l'API java.lang.instrument. Je sais que j'ai les bases correctes parce que cela fonctionne si je fais appeler la méthode System.gc(). J'ai vérifié cela en exécutant -verbosegc avec et sans l'instrumentation. Si je change l'appel de méthode à une classe statique/méthode dans mon propre paquet que je reçois une erreur fatale:Comment analysez-vous les erreurs fatales -javaagent?
Exception dans le thread FATAL ERROR « principal » dans la méthode native: traitement des -javaagent n'a
Non Les fichiers de vidage sont créés dans le répertoire de travail, donc je trouve difficile de comprendre ce qui ne va pas. Autres informations:
- J'assure la classe de méthode statique est chargée dans la méthode premain avant transformation
- L'appel de méthode statique ne donne pas lieu à la création de nouveaux objets
- La dernière classe chargée est InterruptedIOException bien que je pense c'est juste un effet secondaire
Merci d'avance.
Il s'avère que j'ai dû ajouter des bibliothèques de génération de bytecode au chemin de classe de démarrage dans le manifeste de l'agent jar comme documenté ici http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package- summary.html – barry