2010-05-20 4 views
10

J'ai un code C++ qui lors de l'exécution:profilage Java en cours d'exécution par JNI appels

charges JVM (je contrôle complet sur la façon de charger la machine virtuelle Java), et appeler des méthodes Java (des classes chargées) en utilisant le code C JNI . Le code Java n'a pas de Main() et n'est en fait pas une application Java standard. c'est principalement un code statique compilé et compacté en fichier Jar, le code est appelé par le module C++.

Est-il possible de profiler ce code Java en cours d'exécution par YourKit (avoir une licence pour cela)? Si oui, je serai heureux de savoir comment.

+4

J'ai réussi à créer un profil avec YourKit. Je viens d'ajouter l'indicateur de http://www.yourkit.com/docs/80/help/agent.jsp VM et d'attacher le profileur à la machine virtuelle. – Guy

+5

S'il vous plaît envisager de répondre à votre propre question :) – fglez

+0

Comme le suggère antispam - pourquoi ne pas mettre votre conclusion comme une réponse ici? –

Répondre

0

réponse aux exigences de masse,

J'ai réussi à profil à l'aide YourKit. Je viens d'ajouter l'indicateur VM de yourkit.com/docs/80/help/agent.jsp et d'attacher le profileur à la machine virtuelle.

0

Je vais jeter ça là-bas pour les gens C++ qui cherchent à profiler Java: Java a un excellent profileur visuel qui se connecte automatiquement à la JVM appelée VisualVM. Il est inclus avec le jdk. Check it out ici: http://visualvm.java.net/

Pour exécuter visual vm, recherchez l'exécutable dans votre dossier bin jdk.