Debuggen von geräteübergreifenden Anwendungen
Nach oben zu Geräteübergreifende Anwendungen
Inhaltsverzeichnis
- 1 Architektur für das geräteübergreifende Debuggen
- 2 Der in RAD Studio integrierte Debugger
- 3 Anforderungen für das geräteübergreifende Debuggen in RAD Studio
- 4 Debuggen mit C++Builder für 64-Bit-Windows
- 5 Starten des Debuggers mit einem "Start"-Befehl
- 6 Starten des Debuggers mit "Mit Prozess verbinden" und "Prozess laden: Extern"
- 7 Siehe auch
Architektur für das geräteübergreifende Debuggen
Debuggen von macOS-Anwendungen
Führen Sie zum Debuggen von macOS-Anwendungen die folgenden Schritte aus:
Im Projekte-Fenster:
- Fügen Sie die Zielplattform hinzu oder aktivieren Sie sie (macOS 64 Bit und macOS ARM 64 Bit)
- Weisen Sie das Verbindungsprofil über diesen Pfad zu: Tools > Optionen > Bereitstellung > Verbindungsprofil-Manager und legen Sie Folgendes fest:
- Plattform
- Hostname
- Port-Nummer
- Passwort (optional)
- Wechseln Sie zu Tools > Optionen > Bereitstellung > SDK-Manager und fügen Sie die SDK-Version hinzu.
Im Platform Assistant-Server (PAServer):
- Vergewissern Sie sich, dass der PAServer den Remote-Debugger für macOS aufruft.
Debuggen von iOS-Apps
Führen Sie zum Debuggen von iOS-Anwendungen die folgenden Schritte aus:
Im Projekte-Fenster:
- Fügen Sie die Zielplattform hinzu oder aktivieren Sie sie (iOS-Gerät - 64-Bit).
- Weisen Sie das Verbindungsprofil über diesen Pfad zu: Tools > Optionen > Bereitstellung > Verbindungsprofil-Manager und legen Sie Folgendes fest:
- Plattform
- Hostname
- Port-Nummer
- Passwort (optional)
- Wechseln Sie zu Tools > Optionen > Bereitstellung > SDK-Manager und fügen Sie die SDK-Version hinzu.
Im Platform Assistant-Server (PAServer)
- Vergewissern Sie sich, dass der PAServer den Remote-Debugger für iOS aufruft.
- Prüfen Sie, ob iOS-Apps bereitgestellt und während der Entwicklung mit der Code-Signatur versehen werden.
Auf dem iOS-Gerät:
- Verbinden Sie das Gerät mit dem Mac.
Debuggen von Android-Anwendungen
Bereiten Sie vor dem Debuggen von Android-Anwendungen in RAD Studio Ihre Android-Entwicklungsumgebung vor.
Linux-Anwendungen debuggen
Führen Sie zum Debuggen von Linux-Anwendungen die folgenden Schritte aus:
Im Projekte-Fenster:
- Fügen Sie die Zielplattform hinzu oder aktivieren Sie sie (Linux 64 Bit).
- Weisen Sie das Verbindungsprofil über diesen Pfad zu: Tools > Optionen > Bereitstellung > Verbindungsprofil-Manager und legen Sie Folgendes fest:
- Plattform
- Hostname
- Port-Nummer
- Passwort (optional)
- Wechseln Sie zu Tools > Optionen > Bereitstellung > SDK-Manager und fügen Sie die SDK-Version hinzu.
Im Platform Assistant-Server (PAServer)
- Vergewissern Sie sich, dass der PAServer den Remote-Debugger für Linux aufruft.
Der in RAD Studio integrierte Debugger
Mit dem in RAD Studio integrierten Debugger können Sie eine Anwendung debuggen, die für eine der unterstützten Zielplattformen konzipiert ist.
RAD Studio unterstützt die folgenden Debugger, die auf der jeweiligen Zielplattform ausgeführt werden:
- Embarcadero Windows-32-Bit-Debugger – für Windows-32-Bit-Anwendungen
- Embarcadero Windows 64-Bit Debugger für Delphi – für Windows-64-Bit-Delphi-Anwendungen.
- EmbarcaderoWindows-64-Bit-LLDB-Debugger für C++ – für Windows-64-Bit-C++-Anwendungen.
- Embarcadero Linux-64-Bit-Debugger – für Linux-64-Bit-Anwendungen.
- Embarcadero 64-Bit-Debugger für iOS-Geräte – für iOS-64-Bit-Anwendungen, die für iOS-Geräte compiliert wurden.
- Embarcadero Android-32-Bit-Debugger – für Android-32-Bit-Anwendungen, die für Android-32-Bit-Zielplattformen compliliert wurden.
- Embarcadero Android-64-Bit-Debugger – für Android-64-Bit-Anwendungen, die für Android-64-Bit-Zielplattformen compliliert wurden.
- Embarcadero macOS-64-Bit-Debugger – für macOS-64-Bit-Anwendungen.
- Embarcadero macOS ARM-64-Bit-Debugger – für macOS- und iOS-Simulator-ARM-64-Bit-Anwendungen.
Die geeigneten Embarcadero-Debugger werden installiert, wenn Sie Ihre Entwicklungsumgebung wie in der Hilfe beschrieben vorbereiten. Wenn Sie beispielsweise die Schritte für die macOS-Anwendungsentwicklung ausführen, werden der Platform Assistant und der RAD Studio-macOS-Debugger auf Ihrem Mac installiert.
- __lldb_apple_objc_v2_get_dynamic_class_info
- __lldb_caller_function
- __lldb_apple_objc_v2_get_shared_cache_class_info
- __lldb_caller_function
Anforderungen für das geräteübergreifende Debuggen in RAD Studio
- Für eine Anwendung, die auf der Zielplattform macOS 64 Bit oder iOS-Gerät - 64 Bit ausgeführt wird, sind der Platform Assistant und ein Verbindungsprofil zum Einrichten einer Debug-Sitzung erforderlich.
- Für die Android-Zielplattform und die systeminterne Win64-Zielplattform werden weder der "Platform Assistant" noch ein Verbindungsprofil benötigt.
- Für einige Zielplattformen ist es erforderlich, dass Sie in der IDE ein SDK hinzufügen, wie im nächsten Abschnitt Anforderungen für geräteübergreifendes Debuggen beschrieben.
Normalerweise werden sowohl der Debugger als auch der zu debuggende Prozess auf der Zielplattform ausgeführt. Das gilt für das iOS-Gerät und das Android-Gerät. In jedem Fall meldet der Debugger aber den Status und interagiert mit Ihnen auf dem Entwicklungs-PC in der RAD Studio-IDE. Das bedeutet, dass die Verwendung der geräteübergreifenden Debugger weitgehend der Verwendung des integrierten Debuggers für Win32-Anwendungen entspricht. Allgemeine weiterführende Informationen über das Debuggen finden Sie unter Überblick zum Debuggen.
Voraussetzungen für das plattformübergreifende Debuggen:
- Für Ihre Anwendung muss eine Zielplattform aktiviert sein:
- 64-Bit-Windows (auf einem 32-Bit-Windows-Entwicklungs-PC)
- macOS
- iOS
- Android (Android-Gerät)
- Remotes 32-Bit-Windows oder 64-Bit-Windows.
- Zielplattformabhängig:
- Für die Plattformen macOS und iOS:
- Der Platform Assistant muss auf dem Mac ausgeführt werden.
- Ihre Anwendung muss bereitgestellt sein, mit einer Codesignatur versehen sein und ein zugeordnetes Verbindungsprofil haben.
- Hinweis: macOS-Anwendungen müssen Sie weder bereitstellen noch mit einer Codesignatur versehen.
- Ihr Entwicklungssystem muss über eine Live-Verbindung zu dem Mac verfügen (d. h. Verbindung testen auf der Seite Verbindungsprofil-Manager muss erfolgreich sein).
- Bei dieser Verbindung können Sie den integrieren Debugger und den Bereitstellungs-Manager verwenden.
- Zusätzlich muss für die Plattform iOS-Gerät ein bereitgestelltes iOS-Gerät über ein USB-Kabel mit dem Mac verbunden sein.
- Hinweis: Mit dem integrierten Debugger können Sie keine iOS-Apps debuggen, die für die Plattformkonfiguration Anwendungs-Store compiliert wurden.
- Für die 32-Bit-Windows-Plattform:
- Sie müssen den "Platform Assistant" nicht verwenden, weil Ihre Debug-Umgebung sich auf dem Computer befindet, und der integrierte Debugger automatisch ausgeführt wird. Wenn Sie aber für eine 32-Bit-Windows-Anwendung ein Remote-Debugging durchführen möchten, müssen Sie die Option Mit externen Debug-Symbolen in Projekt > Optionen > Delphi-Compiler > Linken auf
True
setzen.
- Sie müssen den "Platform Assistant" nicht verwenden, weil Ihre Debug-Umgebung sich auf dem Computer befindet, und der integrierte Debugger automatisch ausgeführt wird. Wenn Sie aber für eine 32-Bit-Windows-Anwendung ein Remote-Debugging durchführen möchten, müssen Sie die Option Mit externen Debug-Symbolen in Projekt > Optionen > Delphi-Compiler > Linken auf
- Für die 64-Bit-Windows-Plattform:
- Bei einer Verbindung zu einem Remote-64-Bit-PC:
- Sie müssen den "Platform Assistant" und ein Verbindungsprofil verwenden.
- Ihr Entwicklungssystem muss über eine Live-Verbindung zu dem Remote-64-Bit-PC verfügen (d. h. Verbindung testen auf der Seite Verbindungsprofil-Manager muss erfolgreich sein). Bei dieser Verbindung können Sie den integrieren Debugger und den Bereitstellungs-Manager verwenden.
- Bei einem PC-Entwicklungssystem mit einem 64-Bit-Windows-Betriebssystem:
- Sie müssen den "Platform Assistant" nicht verwenden, weil Ihre Debug-Umgebung sich auf dem Computer befindet, und der integrierte Debugger automatisch ausgeführt wird.
- Sie können aber optional den "Platform Assistant" und ein Verbindungsprofil auswählen, genauso wie für ein Remote-Zielsystem mit 64-Bit-Windows. Dadurch haben Sie die Möglichkeit, den Bereitstellungs-Manager zu verwenden.
- Bei einer Verbindung zu einem Remote-64-Bit-PC:
- Ein SDK ist für die folgenden Plattformen und Anwendungstypen erforderlich (im SDK-Manager):
- Geräteübergreifende FireMonkey-Delphi-Anwendungen für die Plattform iOS-Gerät - 64 Bit
- Geräteübergreifende FireMonkey-Delphi-Anwendungen für die Plattform Android
- Für die Plattformen macOS und iOS:
Debuggen mit C++Builder für 64-Bit-Windows
Beim Debuggen einer C++-Anwendung für 64-Bit-Windows sind einige Debugger-Funktionen nicht verfügbar.
Weitere Informationen finden Sie unter Debuggen von C++Builder-Anwendungen für 64-Bit-Windows.
Starten des Debuggers mit einem "Start"-Befehl
Wenn alle Anforderungen für das geräteübergreifende Debuggen erfüllt sind, wird mit dem Befehl Start Folgendes ausgeführt:
- Die benötigten Dateien werden vom Host-PC auf den im Verbindungsprofil angegebenen Zielcomputer kopiert.
- Die Anwendung wird in einem für die Plattform geeigneten Debugger ausgeführt.
Wenn beispielsweise macOS die aktive Plattform ist, wird die ausführbare Datei auf den Mac kopiert.
Sie können mit einem beliebigen Standard-Start-Befehl das Debuggen einer geräteübergreifenden Anwendung (für macOS oder Win64) starten:
- Start > Start (F9) (compiliert die Anwendung und führt sie im integrierten Debugger aus)
- Start > Gesamte Routine (F8)
- Start > Einzelne Anweisung (F7)
- Start > Ausführung bis Rückkehr (Umschalt+F8)
- Start > Bis Cursorposition ausführen (F4)
- Hinweis: "Bis Cursorposition ausführen" wird für das Aufrufen des Debuggers auf der Android-Plattform nicht unterstützt.
Starten des Debuggers mit "Mit Prozess verbinden" und "Prozess laden: Extern"
Zum Ausführen und Debuggen einer compilierten Binärdatei auf einem Computer mit dem "Platform Assistant"-Server (entweder einem Remote-PC oder einem Mac), können Sie die folgenden Befehle verwenden:
- Mit Prozess verbinden, um einen lokal oder remote ausgeführten Prozess zu debuggen. Die Verwendung des "Platform Assistant" und eines Verbindungsprofils wird empfohlen. Einige Plattformen werden nicht unterstützt, wie im Dialogfeld Mit Prozess verbinden angegeben.
- Hinweis: Eine Verbindung mit einem ausgeführten Prozess wird für den Embarcadero Linux-64-Bit-Debugger, Embarcadero iOS-Gerät-64-Bit-Debugger, Embarcadero Android-32-Bit-Debugger, Embarcadero Android-64-Bit-Debugger, Embarcadero macOS-64-Bit-Debugger und den Embarcadero macOS ARM-64-Bit-Debugger nicht unterstützt.
- Prozess laden: Lokal, um einen lokalen Debug-Prozess zu laden.
- Hinweis: "Prozess laden: Lokal" wird für den Embarcadero Linux-64-Bit-Debugger, Embarcadero iOS-Gerät-64-Bit-Debugger, Embarcadero macOS-64-Bit-Debugger und den Embarcadero macOS ARM-64-Bit-Debugger nicht unterstützt.
- Prozess laden: Extern, um einen Debug-Prozess zu laden und ihn auf einem Remote-Computer auszuführen (mit einigen Einschränkungen bezüglich Verbindungsprofilen). Einige Plattformen werden nicht unterstützt, wie im Dialogfeld Prozess laden: Extern angegeben.
- Hinweis: "Prozess laden: Extern" wird für den Embarcadero Android-32-Bit-Debugger und den Embarcadero Android-64-Bit-Debugger nicht unterstützt.
- Die Verwendung des "Platform Assistant" und eines Verbindungsprofils wird empfohlen.
Probleme mit der zeitlichen Steuerung bei "Prozess laden"
Wenn beim Debuggen einer macOS-App die App sofort nach dem Aufruf von Prozess laden abstürzt, sollten Sie entweder die Option Nicht ausführen oder Bis zu Programmeintrittspunkt ausführen (unter "Nach dem Laden") auswählen. Durch beide Optionen können Probleme mit der zeitlichen Steuerung behoben werden, die auftreten, wenn die App ausgeführt wird und auf Debug-Ereignisse trifft, der Debugger aber noch nicht eingerichtet und bereit zur Verarbeitung der Ereignisse ist. Diese Probleme bei der zeitlichen Steuerung können dazu führen, dass der Debugger hängen bleibt.
Siehe auch
- Überblick zum Debuggen
- LLDB-Debugger
- So verwenden Sie den Debugger
- Remote-Debuggen - Alte Verfahren
- Erstellen und Testen eines Verbindungsprofils auf dem Entwicklungs-PC
- PAServer: Die Platform Assistant Server-Anwendung
- Debuggen von C++Builder-Anwendungen für 64-Bit-Windows
- Debuggen von iOS-Apps
- Ausführen und Debuggen Ihrer Android-Anwendung auf einem Remote-Android-Gerät
- Übernahme der Berechtigung zur Debugging-Unterstützung auf einem Mac
- Debugging optimized Win64 code (Debuggen von optimiertem Win64-Code) (EN)