8
votes

En mode de débogage en Java, y a-t-il quelque chose comme une console où je peux taper des commandes?

est-il possible dans Eclipse d'avoir une console, où en mode de débogage, je peux essayer des choses? Comme dans Python, où je peux taper à tout moment par exemple 1 + 1 ou myvariable.Tostring (), etc.? C # a un concept similaire avec la coquille F #.

J'aimerais inspecter mes variables au moment de l'exécution et essayer certaines méthodes, avoir ce type de console serait d'une grande aide.

merci


2 commentaires

L'onglet "Variables" devrait vous permettre d'inspecter les mêmes variables


Oui, mais j'aimerais aussi lancer des commandes.


4 Réponses :


13
votes

Eclipse a la vue d'affichage, où vous pouvez entrer (presque) expressions java arbitraires et les avoir évaluées chaque fois que vous êtes dans un point d'arrêt.

Pour que toute expression a été évaluée, sélectionnez-la (dans la vue d'affichage elle-même, ou tout fichier source Java ouvert) et appuyez sur l'une des "Inspect", "Afficher" ou "Évaluez".

  • "Inspecter" exécute l'expression et affiche la valeur résultante dans une vue d'inspection contextuelle (similaire à la vue Variables).
  • "Affichage" exécute l'expression et imprime la valeur résultante dans la vue d'affichage
  • "évaluer" exécute l'expression et ne fait rien d'autre

    Il y a une très bonne aide sur Débogage à Eclipse , en particulier sur Inspection Variables et Évaluation des expressions .

    Si vous souhaitez tester le comportement d'un code Java pendant que vous êtes pas débogage, vous voudrez peut-être regarder dans le Fonction Scrapbook .


7 commentaires

J'ai essayé d'écrire 1 + 1; ou cela.Tostring (); Et rien ne semble arriver. Comment ça marche?


@Devourded: Êtes-vous sûr que vous déboguez actuellement une application et dans un point d'arrêt? C'est nécessaire car l'exécution nécessite un contexte (par exemple pour savoir ce que ce est).


Oui. La vue Expressions semble fonctionner, mais lorsque j'essaie de taper des choses à la vue d'affichage, il semble ne rien faire.


@Devourded: et avez-vous sélectionné l'expression que vous souhaitez exécuter?


Ah, oui tu as raison. Je devais le choisir. Mais n'est-il pas un moyen qui me permet de simplement écrire des choses et appuyez sur Entrée pour les exécuter? Avoir à écrire, puis à avoir à les sélectionner et cliquez sur Exécuter à partir du menu contextuel, semble impair.


Ensuite, vous cherchez probablement une replaction. Voir cette question: Stackoverflow.com/questions/397488/...


Je n'ai pas pu trouver la vue d'affichage en v4.12.0, mais il y a une vue intitulée «Shell de débogage» qui semble la même.



1
votes

Eclipse a également un ancien plug-in qui semble faire exactement ce que vous recherchez appelé Dr. Java.


0 commentaires

2
votes

oui. Scrapbook Eclipse - peu connu mais très cool

Fichier -> Nouveau -> Java -> Java Run / Debug -> Scrapbook


0 commentaires

0
votes

tl; dr; Oui.

en Java 9 Il y avait un Réplique ajouté qui permet exactement que vous faisiez dans Python.

in Eclipse Vous pouvez ajouter Quickshell pour utiliser JSHELL à l'intérieur de l'Eclipse IDE. TM TMO Plugin Eclipse devra également être installé.

Incidemment, dans Intellij c'est intégré via des outils | Console JSHELL.


0 commentaires