0

Ich frage mich, ob es eine Option gibt, etwas auf Konsole auf Haltepunkt zu drucken. Ich hatte eine Idee, bedingte Breakpoints in IntelliJ IDEA zu hacken.Wie kann ich etwas an der Konsole auf Breakpoint drucken?

Ich schrieb eine solche Klasse:

public class BreakpointPrinter { 

    public static boolean print(Object object){ 
     System.out.println(object); 
     return false; 
    } 
} 

und es so verwenden: breakpoint hack

aber leider bekomme ich einen Fehler: breakpoint error

Haben Sie eine bessere Idee haben zu erreichen ein solches Ziel?

Antwort

1

Rechtsklick auf den Unterbrechungspunkt:

enter image description here

Klicken Sie auf More

enter image description here

Select Evaluate and log und geben Sie den Code, den Sie ausführen möchten.

Im obigen Beispiel führt der Haltepunkt System.out.println("I reached my breakpoint") aus und sobald der Haltepunkt erreicht ist, wird dieser String in die IntelliJ-Konsole geschrieben.

Ich vermute, der Grund, warum Sie eine ClassNotFoundException erhalten, ist, dass Ihre Klasse (BreakpointPrinter) nicht auf dem Klassenpfad für die JVM-Instanz von IntelliJ hervorgebracht wird. Wenn Sie jedoch nur dann in die Konsole schreiben möchten, wenn ein bestimmter Haltepunkt erreicht wird, können Sie eine Klasse verwenden, die immer in der JVM verfügbar ist (z. B. java.lang.System) und über die Funktion Evaluate and log des Haltepunkts auslösen.

+0

Danke! Hat mir viel geholfen. Was ich wirklich machen wollte, war, etwas zu drucken, ohne den Haltepunkt anzuhalten. Dies kann erreicht werden, indem Sie Ihren Ansatz verwenden und das Kontrollkästchen "Suspend" am Haltepunkt deaktivieren –

Verwandte Themen