2010-09-09 19 views
2

J'utilise J9 VM pour exécuter mon application sur une machine Linux (BusyBox). Lors du développement et des tests sur mon environnement Windows, également avec J9, j'obtiens des informations de débogage complètes sur les traces de pile. Cela n'arrive pas sur la machine Linux.Comment puis-je obtenir des informations de débogage imprimées sur une machine virtuelle J9 (Linux)?

J'ai vérifié la configuration des deux machines virtuelles autant que mes connaissances le permettent. En outre, j'ai dépouillé mes fenêtres de l'installation de bibliothèques J9 qui ne sont pas sur l'installation Linux J9.

Quelqu'un at-il une idée de comment obtenir l'information de débogage au lieu de "Unknown Source"? Y a-t-il une configuration pour que cette information soit imprimée?

de Windows Sortie:

>j9 -jcl:foun11 Test 
java.lang.Exception 
     at Test.doStuff(Test.java:6) 
     at Test.main(Test.java:11) 

Linux Sortie:

#j9 -jcl:foun11 Test 
java.lang.Exception 
     at Test.doStuff(Unknown Source) 
     at Test.main(Unknown Source) 

(Les deux sorties se rapportent à la même Test.class, compilé avec -g. Lignes, vars, source)

Merci!

Répondre

2

Selon ce morceau de documentation l'option suivante peut être utilisée pour afficher les informations manquantes:

-Xlinenumbers
Affiche les numéros de ligne dans les traces de pile pour le débogage. Voir aussi -Xnolinenumbers. Par défaut, les numéros de ligne sont activés.

Apparemment, les numéros de ligne sont désactivés par défaut. Mais, comme le dit le document, l'option est "non standard et susceptible d'être modifiée sans préavis". Cela fonctionnera pour le moment.

J'espère que cette réponse sera utile à tous dans le futur.

+0

Malheureusement, cela semble se rapporter à une machine virtuelle Java IBM et ne fonctionne pas dans les machines virtuelles Java standard –