Behebung eines java.io.Console-Supportproblems in der Eclipse-IDE
Entwickler, die die Eclipse-IDE verwenden, stoßen häufig auf die Einschränkung, dass System.console() zurückkehrt null beim Versuch, konsolenbasierte Ein- und Ausgaben zu verwalten. Dies liegt daran, dass Eclipse Programme als Hintergrundprozesse ausführt und nicht in der traditionellen Top-Level-Umgebung mit einem Konsolenfenster.
Lösung: Programme als Top-Level-Prozesse starten
Es ist zwar nicht möglich, Eclipse dazu zu zwingen, Programme als Prozesse der obersten Ebene auszuführen, es gibt jedoch eine Problemumgehung. Durch Entfernen des Programms aus der Eclipse-Umgebung und Festlegen seiner erstellten Klassen im JRE-Klassenpfad kann die Ausführung extern initiiert werden.
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
Schrittweises Debuggen mit Remote Debugger
Erstellen Sie zum schrittweisen Debuggen eine Windows-Batchdatei (*.bat) und starten Sie sie über eine cmd.exe-Konsole. Diese Batchdatei startet die JVM-Konsole im Debug-Modus und ermöglicht so ein externes Debugging innerhalb der Eclipse-IDE.
1. Erstellen Sie eine Batchdatei für die externe Ausführung
@ECHO OFF SET A_PORT=8787 SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y java.exe %A_DBG% -cp .\bin Main
Führen Sie diese Batchdatei in einer Konsole aus, um mit dem Debuggen zu beginnen.
2. Konfigurieren Sie den Debug-Start einer Remote-Java-Anwendung.
Erstellen Sie in Eclipse eine Konfiguration für den Debug-Start einer Remote-Java-Anwendung:
3. Starten Sie das Debuggen
Mit dieser Problemumgehung können Sie konsolenbasierte Programme in Eclipse debuggen und dabei die wesentlichen Funktionen wie schrittweises Debuggen und Variablenprüfung beibehalten.
Das obige ist der detaillierte Inhalt vonWie debugge ich konsolenbasierte Java-Programme in der Eclipse-IDE?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!