web-dev-qa-db-fra.com

Affichage de chaînes complètes lors du débogage dans Eclipse

Pendant le débogage Java, les chaînes dans les vues "Variables" et "Expressions" ne s'affichent que jusqu'à une certaine longueur, après quoi Eclipse affiche "..."

Est-il possible d'inspecter la chaîne entière? (Cela facilite la tâche d'ajouter des instructions de journalisation pour le débogage partout)

154
ragebiswas

Dans la vue Variables, vous pouvez cliquer avec le bouton droit de la souris sur le volet d'informations (la section dans laquelle le contenu de la chaîne est affiché) et sélectionner le menu contextuel "Longueur maximale ...". La même longueur s'applique à l'expression Inspecteur popup et à quelques autres endroits.

enter image description here

209
Eugene Kuleshov

Dans la vue Variables, cliquez avec le bouton droit de la souris sur la variable et sélectionnez Changer la valeur. Si votre variable est énorme, vous devez attendre quelques minutes (dans ce cas, Eclipse ne répond pas aux commandes), mais Eclipse affichera votre variable entièrement.

133
Umberto

Si vous avez une très longue chaîne, j'utilise une stratégie différente: la vider dans un fichier. J'ai un extrait de code que j'utilise dans la vue Affichage, qui est évalué pour transférer les données dans un fichier. J'utilise Commons IO, mais vous ne pouvez le faire qu'avec des méthodes JDK.

org.Apache.commons.io.FileUtils.writeStringToFile(new Java.io.File("<filename>"), <expression to evaluate>);

Naturellement, vous aurez besoin du Commons IO JAR dans votre chemin de classe pour que cela fonctionne. Si vous ne le faites pas, utilisez JDK.

20
zvikico

La meilleure façon d'afficher une valeur de chaîne à partir de la vue de débogage Eclipse est la suivante.

1) Basculer vers la vue de débogage dans Eclipse

2) Sélectionnez la variable souhaitée dans le volet des variables.

3) Cliquez avec le bouton droit de la souris sur la zone d’affichage du panneau des variables où la valeur est affichée et cliquez sur Longueur maximale. Entrez la valeur de caractère maximale dans le volet Configurer les détails.

4) À la vôtre

enter image description here

13
Waqas Ahmed

Lorsque le débogueur atteint le point où vous voulez la valeur String, tapez simplement une instruction sysOut

System.out.println("The value is : \n " + query);

Sélectionnez la déclaration ci-dessus, clic droit-> Exécuter

Il va imprimer la valeur sur la console

3
Sonali

Il n'y a pas de "maxLength" dans Eclipse Mars. Et, la "valeur de changement" ne fonctionne qu'avec "Variables", pas "Expressions", donc aucun des éléments ci-dessus ne fonctionne pour moi.

enter image description here

Et, les expressions sont coupées au milieu, pas à la fin. Je suppose qu'ils ont changé le comportement par défaut.

La seule chose qui fonctionne pour moi consiste à développer la largeur de la colonne du nom de l'expression et à cliquer sur l'expression pour tout sélectionner pour afficher le contenu complet.

0
WesternGun

Pour le débogage basé sur JavaScript sur Eclipse, les méthodes "change value" et "longueur maximale" ont toutes deux échoué pour moi, en ajoutant l'objet requis à surveiller (Expressions), puis à clic droit sur l'expression surveillée). pour sélectionner "Load Full Value" est la seule solution qui fonctionne pour moi, mais même si cela insère un "\ n" indésirable dans la sortie.

Remarque - "Longueur maximale" doit être défini pour que "Charger la valeur complète" fonctionne car il charge les valeurs jusqu'à la longueur maximale (la valeur par défaut dans Eclipse est 10 000). Reportez-vous à la réponse ci-dessus pour savoir comment définir la longueur maximale.

0