2010-05-20 4 views
134

Während Java-Code debuggen, Strings in den Ansichten „Variablen“ und „Ausdrücke“ zeigen jeden Möglichkeit, die gesamte Zeichenfolge zu überprüfen? (Dies erleichtert das Hinzufügen von Logging-Anweisungen für das Debugging überall)Anzeigen von kompletten Strings während in Eclipse Debuggen

+0

wo sehen Sie dieses Verhalten? Welcher Teil des Debuggers? – skaffman

+0

Nebenbei bemerkt, könnte dies eine falsche Bezeichnung sein, weil es möglicherweise nicht für Sie funktioniert, aber wenn Sie eine Debugging-Bibliothek wie java.util.logging oder log4j verwenden, können Sie Ihre Debug-Anweisungen (mit verschiedenen Debugging-Levels) einfach umstellen in Ausdrucken oder in Logfiles und es kann Ihnen den Vorteil geben, dass das Durchsuchen von Strings im Debug-Fenster nicht möglich ist. Nur ein Gedanke =) – corsiKa

Antwort

181

In der Variablenansicht können Sie mit der rechten Maustaste auf Details klicken (der Bereich, in dem der Inhalt angezeigt wird) und das "Max Length ..." Popup-Menü wählen. Dieselbe Länge gilt für das Popup des Expression-Inspektors und wenige andere Orte.

enter image description here

+17

Bessere Lösung als die ausgewählte. Vielen Dank! – Colin

+11

Gut, darauf hinzuweisen, dass der Detailbereich der Abschnitt ist, in dem der String-Inhalt angezeigt wird. – Bnrdo

+1

Wie macht man das in eclipse kepler? Pls help – Foolish

16

Wenn Sie eine wirklich lange Zeichenfolge haben, verwende ich eine andere Strategie: dump in eine Datei. Ich habe ein Code-Snippet, das ich in der Ansicht Display verwende, die ausgewertet wird, um die Daten in eine Datei auszugeben. Ich benutze Commons IO, aber Sie können es mit JDK nur Methoden machen.

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

Natürlich benötigen Sie die Commons IO JAR in Ihrem Klassenpfad, damit das funktioniert. Wenn nicht, greifen Sie auf JDK-Arbeit zurück.

+3

cooler Workaround. Ich persönlich würde dies als beste Antwort akzeptieren. Caveat: muss für das System definiert werden, in dem die JVM ausgeführt wird, was beim Remote-Debugging von Bedeutung ist. In diesem Fall wird die Datei auf dem Remote-System und nicht auf der Workstation geschrieben, auf der Eclipse ausgeführt wird. – rexford

+0

Dies ist die einzige Lösung, die für mich funktionierte. Vielen Dank! – Dherik

131

In den Variablen Ansicht klicken Sie mit der rechten Maustaste auf die Variable und wählen Ändern Sie den Wert. Wenn Ihre Variable riesig ist, müssen Sie ein paar Minuten warten (in diesem Fall reagiert Eclipse nicht auf Befehle), aber am Ende zeigt Eclipse Ihre Variable vollständig an.

+1

Ich kann nur sehen '" Daten: Bild/Bitmap; base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQE ... (Länge: 22869) "'. Setzen Sie die Option "Maximale Länge" nicht funktionieren und "Wert ändern" auch. – falko

+0

@falko "Max Length" hat bei mir nicht funktioniert, "Change value" war in Ordnung (nach einigen Sekunden Warten, abhängig von der Variablenlänge). – UmbySlipKnot

+0

Zumindest auf meinem System ist dies * erheblich * langsamer als die Erhöhung der "Max Length" (siehe andere Antwort). – sleske

0

für JavaScript-basierte Debugging auf Eclipse, „Wert ändern“ -Methode und „Max Länge“ Methode sowohl für mich im Stich gelassen, das gewünschte Objekt Hinzufügen zu sehen (Expressions) und dann rechts den überwachten Ausdruck Ein Klick auf die Option „Last Full Value " ist die einzige Lösung, die für mich funktioniert, aber sogar fügt dies unerwünschte" \ n "in der Ausgabe.

Hinweis - "Maximale Länge" muss für den "Load Full Value" eingestellt werden, um zu funktionieren, wie es Werte bis maximale Länge lädt (Standard in Eclipse ist 10000). Lesen Sie die obige Antwort, um zu erfahren, wie Sie die maximale Länge einstellen können.

4

Wenn Debugger den Punkt erreicht, wo Sie den String-Wert möchten, geben Sie einfach eine SYSOUT-Anweisung

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

die über der Anweisung auswählen, Rechtsklick-> Ausführen

Es wird der Wert drucken auf der Konsole

6

Die beste Möglichkeit, einen String-Wert aus der Eclipse-Debug-Ansicht anzuzeigen, ist wie folgt.

1) Umschalten auf debug Ansicht in Eclipse

2) Wählen Sie die gewünschte Variable in variablen Fensterbereich.

3) Klicken Sie mit der rechten Maustaste auf den Anzeigebereich des Variablenfensters, in dem der Wert angezeigt wird, und klicken Sie auf Max. Länge. Geben Sie den maximalen Zeichenwert im Bereich "Details konfigurieren" ein.

4) Prost

enter image description here

+1

Viel besser als die angenommene Antwort. Vielen Dank! – simon

0

Es gibt keine "maxLength" in Eclipse Mars. Und der "Änderungswert" funktioniert nur mit "Variablen", nicht mit "Ausdrücke", also funktioniert nichts von oben für mich.

enter image description here

Und der Ausdruck in der Mitte geschnitten, nicht am Ende. Ich denke, sie haben das Standardverhalten geändert.

Die einzige Sache, die für mich funktioniert, ist die Spalte Breite des Ausdrucks Namen Spalte zu erweitern, und klicken Sie auf den Ausdruck, um alles zu wählen, um den Inhalt voller Länge zu sehen.

Verwandte Themen