Aktivieren der Protokollierung für die RAD Studio-Debugger

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Anwendungen debuggen - Index


Debugger-Protokolle können dabei helfen, unerwartetes Verhalten beim Debuggen zu diagnostizieren und zu verstehen, z. B. bei der Eingrenzung von Fehlern im Debugger selbst.

Diese Protokolle werden durch Festlegen von Umgebungsvariablen aktiviert, es gibt jedoch unterschiedliche Debugger für die einzelnen Plattformen. Das bedeutet, dass je nach Plattform unterschiedliche Umgebungsvariablen festgelegt werden müssen, um die Protokolle zu generieren.

Führen Sie die folgenden Schritte aus, um Protokolle zu generieren:

  1. Beenden Sie die IDE (und PAServer, falls Sie remote debuggen).
  2. Löschen Sie zuvor alle vorhandenen Protokolle (sodass Sie nur einen Satz von Protokollen erhalten, die das Problem darstellen).
  3. Legen Sie alle Umgebungsvariablen wie unten angegeben fest, die für die Plattform gelten (vergewissern Sie sich, dass alle angegebenen Ausgabeverzeichnisse vorhanden sind und in diese geschrieben werden kann).
  4. Starten Sie die IDE (und PAServer, falls Sie remote debuggen).
  5. Führen Sie den Debugger aus, und führen Sie nur das durch, was notwendig ist, um den Fehler zu reproduzieren.
  6. Beenden Sie die IDE (und PAServer, falls Sie remote debuggen).
  7. Sammeln Sie alle generierten Debugger-Protokolle, und fügen Sie sie Ihrem Fehlerbericht oder Ihrer Support-Anfrage bei.
Notes:
  • Alle in den Einstellungen angegebenen Ausgabeverzeichnisse müssen vor dem Starten der IDE (und/oder von PAServer, falls Sie remote debuggen) vorhanden sein.
  • Sie müssen für die in den Einstellungen angegebenen Ausgabeverzeichnisse Schreibzugriff haben, insbesondere für Windows 10 und macOS.
  • Sie müssen die IDE möglicherweise beenden, bevor Sie die Protokolle anzeigen können (abhängig von der Plattform).

DBK-Protokolle

Auf Windows gehostete DBK-Protokolle (Win32 und Win64)

Hinweis: Der für Win32 verwendete DBK-Debugger wird für Delphi und C++ unterstützt, und Win64 wird nur für Delphi unterstützt. Zum Debuggen von Win64-C++ lesen Sie bitte den Abschnitt "LLDB" weiter unten.

So rufen Sie die Debugger-Protokolle auf einem Windows-Computer ab:

  1. Starten Sie bds.exe.
  2. Öffnen Sie Tools > Optionen > IDE > Umgebungsvariablen.
  3. Klicken Sie in Vom Benutzer überschriebene Systemvariablen auf Neu..., um die folgenden Namens-/Wertepaare für Umgebungsvariablen hinzuzufügen:
    1. DBK_DEBUG all
    2. DBK_DEBUG_OUTDIR d:\MyLogsDirectory


So deaktivieren Sie die Debugger-Protokolle in der nächsten Debug-Sitzung:

  1. Öffnen Sie Tools > Optionen > IDE > Umgebungsvariablen.
  2. Wählen Sie die Variable DBK_DEBUG aus, und klicken Sie auf "Löschen".
  3. Wählen Sie die Variable DBK_DEBUG_OUTDIR aus, und klicken Sie auf "Löschen".


Bei jeder Ausführung des Debuggers:

  • Unter Win32 befinden sich DBK-Protokolle mit dem Namen dbk_<pid1>.log (für den Debug-Server) und dbk_<pid2>_N.log (für den Debugger) in MyLogDirectory.
  • Unter Win64 befinden sich DBK-Protokolle mit dem Namen dbk_<pid1>.log (für den auf Win32 gehosteten Treiber) dbk_<pid2>.log (für den Debug-Server) und dbk_<pid3>_N.log (für den Debugger) in MyLogsDirectory.
Tipp: Sollte der Debugger nicht starten, versuchen Sie die IDE als Administrator auszuführen, und sehen Sie nach, ob die Protokolldateien in das "bin"-Verzeichnis von bds geschrieben wurden.

Auf macOS gehostete DBK-Protokolle

Um die Debugger-Protokolle auf einem Mac-Computer abzurufen, öffnen Sie zuerst ein Terminalfenster. Wechseln Sie zu dem Verzeichnis, in dem PAServer installiert ist. Geben Sie den folgenden Befehl ein:

export DBK_DEBUG=all
export DBK_DEBUG_OUTDIR=~/Documents/MyLogsDirectory
./paserver

Für jede Ausführung des Debuggers befinden sich DBK-Protokolle mit den Namen dbk_<pid1>.log (für den Debug-Server) und dbk_<pid2>.log (für den Debugger) in MyLogsDirectory, wenn DBK_DEBUG_OUTDIR festgelegt ist. Wenn es nicht festgelegt ist, dann befinden sich die Protokolle im selben Verzeichnis wie die Binärdateien von PAServer.

LLDB-Protokolle

Auf Windows gehostete LLDB-Protokolle (Win64 und Android64)

Hinweis: Android64 wird für Delphi und C++ unterstützt, und Win64 wird nur für C++ unterstützt.

So rufen Sie die Debugger-Protokolle auf einem Windows-Computer ab:

  1. Starten Sie bds.exe.
  2. Öffnen Sie Tools > Optionen > IDE > Umgebungsvariablen.
  3. Klicken Sie in Vom Benutzer überschriebene Systemvariablen auf Neu..., um die folgenden Namens-/Wertepaare für Umgebungsvariablen hinzuzufügen:
    1. GDB_DEBUG 1
    2. GDB_OUTDIR d:\MyLogsDirectory


So deaktivieren Sie die LLDB-Protokolle in der nächsten Debug-Sitzung:

  1. Öffnen Sie Tools > Optionen > IDE > Umgebungsvariablen.
  2. Wählen Sie die Variable GDB_DEBUG aus, und klicken Sie auf "Löschen".
  3. Wählen Sie die Variable GDB_OUTDIR aus, und klicken Sie auf "Löschen".


Für jede Ausführung des Debuggers befinden sich die IDE-Protokolle mit den Namen gdb_<pid>.log in MyLogsDirectory, wenn GDB_OUTDIR festgelegt ist. Wenn es nicht festgelegt ist, dann befinden sich die Protokolle im "bin"-Verzeichnis von bds.

Auf macOS gehostete LLDB-Protokolle (iOS64 und macOS 64)

Um die Debugger-Protokolle auf einem Mac-Computer abzurufen, öffnen Sie zuerst ein Terminalfenster. Wechseln Sie zu dem Verzeichnis, in dem PAServer installiert ist. Geben Sie den folgenden Befehl ein:

export GDB_DEBUG=1
export GDB_OUTDIR=~/MyLogDirectory
./paserver

Die IDE-Protokolle mit den Namen lldb_<pid>.log befinden sich in MyLogsDirectory, wenn GDB_OUTDIR festgelegt ist. Wenn es nicht festgelegt ist, dann befinden sich die Protokolle im selben Verzeichnis wie die Binärdateien von PAServer.

GDB-Protokolle

linuxgdb-Protokolle (Linux64)

Protokolle können sowohl vom IDE-Debugger generiert werden, um die Kommunikation mit dem Remote-GDB zu protokollieren (über GDB_DEBUG), als auch vom GDB, der von PAServer auf dem Remote-Computer gestartet wird (über MIGDB_DEBUG).

Öffnen Sie auf Ihrem Linux-Computer ein Terminalfenster, um die Protokolle abzurufen. Wechseln Sie zu dem Verzeichnis, in dem PAServer installiert ist. Geben Sie den folgenden Befehl ein:

export MIGDB_DEBUG=1
export GDB_DEBUG=1
export GDB_OUTDIR=~/MyLogDirectory
./paserver

Die IDE-Protokolle mit den Namen gdb_<pid>.log befinden sich in MyLogsDirectory, wenn GDB_OUTDIR festgelegt ist. Wenn es nicht festgelegt ist, dann befinden sich die Protokolle im selben Verzeichnis wie die Binärdateien von PAServer.

Die GDB-Protokolle mit den Namen migdb_<pid>.log befinden sich im selben Verzeichnis wie die Binärdateien des Projekts, z. B. "~/paserver/scratch-dir/<Benutzername-Profil>/Project1".

androidgdb-Protokolle (Android32)

Protokolle können sowohl vom IDE-Debugger generiert werden, um die Kommunikation mit dem Remote-GDB zu protokollieren (über GDB_DEBUG), als auch vom GDB, der auf demselben Windows-Computer gehostet wird (über MIGDB_DEBUG). So rufen Sie die Debugger-Protokolle ab:

  1. Starten Sie bds.exe.
  2. Öffnen Sie Tools > Optionen > IDE > Umgebungsvariablen.
  3. Klicken Sie in Vom Benutzer überschriebene Systemvariablen auf Neu..., um die folgenden Namens-/Wertepaare für Umgebungsvariablen hinzuzufügen:
    1. MIGDB_DEBUG 1
    2. GDB_DEBUG 1
    3. GDB_OUTDIR d:\MyLogsDirectory


So deaktivieren Sie die androidgdb-Protokolle in der nächsten Debug-Sitzung:

  1. Öffnen Sie Tools > Optionen > IDE > Umgebungsvariablen.
  2. Wählen Sie die Variable MIGDB_DEBUG aus, und klicken Sie auf "Löschen".
  3. Wählen Sie die Variable GDB_DEBUG aus, und klicken Sie auf "Löschen".
  4. Wählen Sie die Variable GDB_OUTDIR aus, und klicken Sie auf "Löschen".


Die IDE-Protokolle mit den Namen gdb_<pid>.log befinden sich in MyLogsDirectory, wenn GDB_OUTDIR festgelegt ist. Wenn es nicht festgelegt ist, befinden sich die Protokolle im "bin"-Verzeichnis von bds.

Die GDB-Protokolle mit den Namen migdb_<pid>.log befinden sich im selben Verzeichnis wie die Binärdateien des Projekts, z. B. "c:\Benutzer\John\Dokumente\Embarcadero\Studio\Projects\Android\Debug\Project1\debug\".


Bekannte Probleme und Lösungen

Gehen Sie folgendermaßen vor, wenn die IDE keine Debug-Sitzung für eine Delphi-Anwendung auf der Windows-64-Bit-Plattform aufgrund eines Port-Konflikts starten kann:

So legen Sie diesen DBK_DEBUG_PORT fest:

  1. Öffnen Sie Tools > Optionen > IDE > Umgebungsvariablen.
  2. Klicken Sie in Vom Benutzer überschriebene Systemvariablen auf Neu..., um die folgenden Namens-/Wertepaare für Umgebungsvariablen hinzuzufügen:
    1. DBK_DEBUG_PORT 12345
  3. Starten Sie die IDE erneut.

Die Delphi-Anwendung für die Debug-Sitzung auf der Windows-64-Bit-Plattform verwendet diese neue Port-Nummer. Um auf die Standard-Port-Nummer zurückzusetzen, löschen Sie diese neu hinzugefügte Umgebungsvariable, und starten Sie die IDE neu.