IDE Window: Debugger Options/de

From Lazarus wiki

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru)

Allgemein

Debuggereinstellungen-Allgemein-qt.png

Debuggertyp und -pfad

Wählen sie den Debugger.

  • None - Kein debugger. Bei Start wird einfach das Programm ausgeführt.
  • GNU debugger (gdb) - Der gdb ist kein Teil von Lazarus. Sofern sie nicht Windows benutzen, müssen sie ihn selbst installieren. Dies ist das Bindeglied zu gdb. Sie müssen den Pfad zu gdb (zum Beispiel /usr/bin/gdb) im Feld darunter einrichten.
  • GNU debugger through SSH - für remote debugging. Sie können eine SSH Verbindung zu einem anderen Computer verwenden und gdb dort ausführen. Sie benötigen eine SSH Verbindung ohne Passwortabfrage dafür. Schauen sie in der SSH Dokumentation nach, wie man das macht.

Zusätzlicher Suchpfad

Sie können zusätzliche Verzeichnisse hinzufügen, um nach den Quellen zu suchen, die in den Debugging-Informationen des executable genannt sind. Dies wird für alle Projekte verwendet.

Allgemeine Debuggereinstellungen

Meldung beim Anhalten anzeigen

Aktivieren sie dies um eine Meldung zu zeigen, wenn das Programm anhält.

Debugger nach jedem Lauf zurücksetzen

Spezifische Debuggereinstellungen

Jeder Debuggertyp hat spezielle Einstellungen.

GNU Debugger (gdb)

  • OverrideRTLCallingConvention:

This is an internal flag and can stay default. Um Software Exceptions handzuhaben, verwendet Lazarus einige interne Haltepunkte an Stellen, wo diese Exceptions aufgeworfen werden. Wenn ein executable is fully compiled with debug info (thus also the RTL) one can retrieve the agruments passed to those exception routines. However that is usually not the case, so Lazarus has its internal way of examinig the callstack and registers. In order to interprete those arguments correctly it needs to know what the internal calling convention was of those routines. Pre FPC 1.9.x arguments were passed on stack. Nowadays arguments are passed in registers. In case the the FPC version detection routine draws the wrong conclusion, können sie hier die calling convention aufheben.

Ereignisprotokoll

Debuggereinstellungen-Ereignisprotokoll-qt.png

Allgemein

Eventuell logging info should go the the event log, fürs erste werden sie im Debuggerausgaben Fenster gezeigt.

  • Log beim Start löschen: löscht das Debug-Ausgabefenster bei jedem Start des Programms.
  • Zeilenzählung begrenzen auf: behält nur die letzten Zeilen des Outputs.

Nachrichten...

(nicht implementiert)

Hier wird eingestellt, welche Nachrichten ins Ereignisprotokoll geschrieben werden.

  • Haltepunkt
  • Prozeß
  • Thread
  • Modul
  • Ausgabe
  • Fenster
  • Interface

Sprach-Ausnahmen

Debuggereinstellungen-Sprach-Ausnahmen-qt.png

Programme können Exceptions verursachen. Zum Beispiel, wenn eine Datei nicht gelesen werden kann. Hier können sie einrichten, ob der Debugger bei einer Exception stoppen soll.

Diese Ausnahmen übergehen

Fügen sie hier ihre zu ignorierenden Exceptions hinzu. Zum Beispiel: EDivByZero

Bei Lazarus-Ausnahmen benachrichtigen

Deaktivieren sie diese Option, wenn sie bei keiner Exception halten wollen.

Betriebssystem-Ausnahmen

Debuggereinstellungen-Betriebssystem-Ausnahmen-qt.png

Signale

(nicht implementiert)

Definiert, ob Signale vom Debugger oder vom Anwenderprogramm behandelt werden. Zum Beispiel, eine Division durch null wird zuerst vom Betriebssystem signalisiert. Dann übersetzt die FPC RTL dies in ein EDivByZero. When the signal is handled by the debugger, wird das Programm angehalten, bevor die RTL diese Nachricht übersetzt. Gegenwärtig stoppt der Debugger immer bei einem Signal.