9
votes

Déboguer Eclipse Ide elle-même

J'aimerais apprendre à déboguer sur Eclipse IDE. Retour au moment où j'utilisais VS pour le développement .NET, je peux fixer VS à un processus à tout moment et commencer à tracer le problème. J'espère qu'il y aurait quelque chose de similaire avec Eclipse, mais en tant que débutant au monde de Java, je ne sais pas à ce sujet.

Mon éclipse se bloque récemment lorsque je l'exécute avec Ibus (sur Ubuntu 9.10). J'espère que je peux découvrir ce qui accrocherai vraiment mon éclipse et éviter cela (imaginez que votre éclipse suspendue et tous vos fichiers ouverts ont été fermés. Cela me rend fou de moi).


0 commentaires

5 Réponses :


2
votes

Une chose que vous puissiez faire avec n'importe quelle application Java pour voir ce qui se passe maintenant est l'envoyer un Kill -Quit . Cela fera que le JVM vida les traces de pile pour tous ses threads à STDOUT. Faites ceci trois fois avec une seconde entre les deux et vous pouvez voir quels threads ne se déplacent pas bien.

Une autre chose à essayer est d'attacher un JConsole au processus d'exécution.


1 commentaires

Vous avez dit que vous êtes sur Ubuntu, donc: 1) Trouvez l'ID de processus, peut-être utiliser PS AUXW. 2) à partir de la coque Kill -Quit



1
votes

retour au moment où j'utilisais VS pour le développement .NET, je peux fixer VS à un processus à tout moment et commencer à tracer le problème.

Débogage à distance est également possible dans Java avec l'architecture de débogueur de Java Platform (JPDA), il vous suffit de démarrer l'application que vous souhaitez déboguer avec le débogage à distance activé. Voici un article montrant comment faire cela et comment faire Configurez Eclipse pour déboguer une application Supprimer.

Notez que commencer à partir de Java 5, vous devez préférer l'option -agentlib: JDWP sur le -xdebug et -XRunJDWP options comme expliqué Dans Options d'invocation Sun VM .

Mise à jour: Eclipse est une application Java afin qu'il soit possible d'ajouter les options mentionnées dans l'article dans Eclipse.ini . Jamais essayé cela (j'ai manqué le fait que vous voulez déboguer Eclipse elle-même).


1 commentaires

L'article m'a dit de déboguer un fichier JAR. Mais j'ai trouvé Eclipse à être (ressemblez?) Un fichier exécutable natif. Comment puis-je dire à Eclipse de publier un message de débogage dans un port?



0
votes

Il existe essentiellement deux façons de déboguer une application Java (E. Eclipse). Vous pouvez utiliser JConsole, mais cela ne vous donnera pas beaucoup de détails. Pour attacher JConsole Vous devez activer la télécommande Débogage; Cela nécessite un argument JVM que vous pouvez écrire dans le fichier Eclipse.ini juste à côté de l'exécutable Eclipse.

Une autre option consiste à démarrer un établissement d'exécution de Eclipse: Ceci est utilisé pour tester vos propres plug-ins, mais comme les plug-ins Eclipse sont identiques, il est possible de démarrer une session de débogage avec une application Eclipse. Pour ce faire, vous avez besoin d'au moins un plug-in dans votre espace de travail (par exemple créer un nouveau projet de plug-in bonjour) et vous pouvez ensuite déboguer cela comme une application Eclipse.


0 commentaires

12
votes

Modifiez votre fichier Eclipse.ini Ajoutez les éléments suivants en bas (sous-Vmargs): xxx

puis dans une autre éclipse de la même version, vous pouvez importer les plugins qui vous intéressent dans le débogage. Fichier -> Importer ... -> Développement Plug-in -> Plug-ins et fragments. Importer à partir de la plate-forme active et importer comme "projets avec des dossiers source", dans l'onglet suivant, sélectionnez les plugins qui vous intéressent.

Définir les points d'arrêt, selon le cas.

puis créer Configurations de débogage, créez une nouvelle "application Java distante". Localhost, Port 8000. Ajoutez les projets Java sur l'onglet Source et déboguer.


1 commentaires

Woot woot c'était la chose que je cherchais



3
votes

Il y a Un fil de recherche d'une cause d'éclipse gel .

Une des solutions suggère Eclipse de départ avec -Consolelog Option . Cela pourrait être utile pour donner un coup d'œil rapide sur ce qui se passe (avant de faire du débogage réel).


0 commentaires