NetBeans Debugger: Bedingungen testen?

Hallo Forum,

ich raufe mir derzeit schwer die Haare. In meiner inzwischen recht komplexen Anwendung kann ich eine JTable partout nicht editieren, weil sie an irgend einer Stelle disabled wird. Das habe ich an keinem Ort hardkodiert. Ich vermute, dass es eine versteckte Nebenwirkung irgendeiner Methode ist. Ich habe ausführlichst den Quellcode, insbesondere auch den CellEditor, durchforstet und finde die verantwortliche Methode einfach nicht. Das setzen von Breakpoints an vermeintlich relevanten Stellen hat auch nicht zum Ziel geführt. Ich erinnere mich an meine frühere Arbeit mit VisualBasic. Dort gab es im Debugger die Möglichkeit, Bedingungen einzugeben, so dass die Programmausführung unterbricht, sobald die Bedingung (in meinem Fall also etwa meineTabelle.isEnabled==false) true wird. Kann ich etwas derartiges mit dem NetBeans-Debugger auch realisieren? (Habe bisher eine solche Möglichkeit nicht gefunden).

Hi,

habe gerade kein Netbeans zur Hand, aber wenn du mit Rechts auf einen Breakpoint klickst, dann kannst du “Conditions” setzen.

Gruß,
Tim

Danke, Tim, das kannte ich noch nicht.
Wie ich es verstehe, wird dann an diesem Breakpunkt die Bedingung überprüft. Eine andere Möglichkeit, die ich inzwischen entdeckt habe, ist es, einen Watch-Ausdruck zu definieren. Aber auch hier wird die Bedingung nur geprüft, wenn die Codeausführung am Breakpoint angehalten wird - was wieder voraussetzt, dass ich die entscheidende Stelle im Code vorher wissen oder erahnen muss. Die Möglichkeit, die Programmausführung ohne Breakpoint beim Wahrwerden einer bestimmten Bedingung anzuhalten, gibt es vermutlich innerhalb NetBeans nicht, oder?

Man kann Breakpoints auch an Felder setzen, dort gibt es dann bei den Properties "Stop On: a) Field Acces b)Modification c)Field Acces or Modification.

ich hab das gerade mit einem String und stop on Modification getestet, der Debugger ist dann in der setter-Methode gestoppt.

Es ist auch möglich Breakpoints in den Klassen der API zusetzen. Einfach mit strg+links klick auf die Klasse beim Import klicken und schon öffnet sich die Klasse.

Vielleicht reicht das ja schon herrauszufinden, wann die Tabelle disabled wird.

Das klingt ja super!
NetBeans scheint ja viele Möglichkeiten in sich zu bergen, von denen ich null Ahnung habe.
Werde es baldmöglichst testen.
Vielen Dank! :slight_smile: