Anhängen und Debuggen mit Konfigurationen zum Anhängen verwenden

Abgeschlossen

Hängen Sie den AL-Debugger wie den Momentaufnahme-Debugger entweder an eine bestehende laufende Sitzung oder an die nächste Sitzung für den bestimmten Benutzer an. In beiden Fällen erfolgt das Einrichten durch Angabe einer Sitzungs-ID oder einer Benutzer-ID in der angehängten Konfiguration launch.json.

Zudem ist ein neues Berechtigungssatz Debugging anhängen verfügbar, das benutzerübergreifendes Debuggen ermöglicht.

Wenn Sie die Funktion zum Debuggen nicht veröffentlichen und aufrufen möchten, können Sie stattdessen eine Sitzung an einen angegebenen Server anhängen. Warten Sie dann auf einen Prozess, der den von Ihnen eingerichteten Haltepunkt auslöst. Das Debuggen beginnt beim Erreichen des Codes, für den der Haltepunkt erreicht ist.

Zum Verwenden der Funktion zum Anhängen müssen Sie sicherstellen, dass Ihre App zuerst mit Strg+F5 oder mit Alt+Strg+F5 für RAD‑ Veröffentlichung veröffentlicht ist, bevor Sie die Debugging-Sitzung mit F5 starten. Das Erstellen einer neuen Serversitzung vom Client aus kann zum Beispiel durch Starten einer neuen Clientsitzung erreicht werden. Durch Drücken von F5 (Aktualisieren) in einem Browser wird möglicherweise keine neue Serversitzung erstellt, da diese zwischengespeichert wird. Wenn eine Sitzung aber abgelaufen ist und aktualisiert wird, wird eine neue Sitzung erstellt.

Nur der Benutzer, der eine Visual Studio Code-Sitzung zum Anhängen startet, kann die Webanforderung auf dem Server stellen.

Sie können die Funktion zum Anhängen aktivieren, indem Sie eine neue Konfiguration in der Datei launch.json erstellen. Die Konfiguration hat zwei Varianten:

  • An den Client in der Cloud-Sandbox anhängen

  • Eine Verbindung zum Client auf Ihrem Server herstellen

Verwenden Sie die erste Option, um eine Verbindung zu einer Cloud-Sitzung herzustellen, und die zweite Option, um eine Verbindung zu einem lokalen Server herzustellen.

Mit Business Central 2023 Veröffentlichungszyklus 1 werden der Startkonfiguration zwei neue Eigenschaften hinzugefügt: sessionId und userId, die es ermöglichen, eine Verbindung zu einer laufenden Sitzung herzustellen und auch im Namen eines anderen Benutzers zu debuggen.

In der Konfiguration zum Anhängen gibt die Einstellung breakOnNext den nächsten Client an, der beim Start der Debugging-Sitzung unterbrochen werden soll, und lässt nur eine Option zu. Die verfügbaren Optionen sind:

  • WebServiceClient

  • WebClient

  • Hintergrund

Zwei weitere wichtige Seiteneigenschaften sind sessionId und userId. sessionId legt eine laufende Sitzung des angegebenen Typs in breakOnNext fest. Diese Sitzung sollte dem Benutzer in der Eigenschaft userId gehören, sofern festgelegt.

Der Debugger stellt eine Verbindung mit der nächsten Sitzung dieses Typs her, die für den angegebenen Benutzer in breakOnNext festgelegt ist, wenn sessionId nicht angegeben, aber userId vorhanden ist.

Wenn userId ein anderer Benutzer ist als der Benutzer, der bei Visual Studio Code angemeldet ist, muss der bei Visual Studio Code angemeldete Benutzer Teil des Berechtigungssatzes D365 ATTACH DEBUG sein.

Der Debugger kann eine Verbindung zu Hintergrundsitzungen herstellen, nicht jedoch zu Hintergrundaufgaben.

In diesem Beispiel wird eine Konfiguration für einen lokalen Server veranschaulicht.

{
            "name": "My attach to local server",
            "type": "al",
            "request": "attach",
            "server": "https://localhost",
            "serverInstance": "BC200",
            "authentication": "Windows",
            "breakOnError": true,
            "breakOnRecordWrite": false,
            "enableSqlInformationDebugger": true,
            "enableLongRunningSqlStatements": true,
            "longRunningSqlStatementsThreshold": 500,
            "numberOfSqlStatements": 10,
            "breakOnNext": "WebClient"
        }

Eine Sitzung zum Anhängen starten

Führen Sie diese Schritte aus, um mit der Sitzung zum Anhängen zu starten:

  1. Wählen Sie im Visual Studio Code unter Ausführen die Option Konfiguration hinzufügen aus.

  2. Wählen Sie aus, ob Sie eine Verbindung zu einer Cloud oder einer lokalen Sitzung herstellen möchten. Die Datei launch.json wird jetzt mit den richtigen Konfigurationseinstellungen zum Anhängen gefüllt. Wenn Sie eine lokale Sitzung ausgewählt haben, richten Sie die Standardeinstellungen in den Server‑ und serverInstance-Einstellungen so ein, dass sie auf Ihren lokalen Server verweisen.

  3. Legen Sie die Eigenschaft breakOnNext fest, um den Clienttyp anzugeben, für unterbrochen werden soll.

  4. Legen Sie in Ihrem Code mindestens einen Haltepunkt fest, indem Sie Ausführen in der Symbolleiste verwenden. Wählen Sie Neuer Haltepunkt aus und dann den Typ des hinzuzufügenden Haltepunkts. Sie können beim Debuggen weitere Haltepunkte hinzufügen.

  5. Wenn Ihre neueste App noch nicht veröffentlicht ist, müssen Sie sicherstellen, dass Sie sie veröffentlichen, indem Sie Strg+F5 oder Alt+Strg+F5 für RAD-Veröffentlichung drücken. Drücken Sie dann die Taste F5, um eine Sitzung zum Anhängen zu starten. Stellen Sie sicher, dass Sie die App mit Strg+F5 erneut veröffentlichen, wenn Sie den App-Code während der Debugging-Sitzung ändern.

  6. Um eine Debugging-Sitzung zu starten, drücken Sie nach der Veröffentlichung F5. Wenn Sie weitere Anhängekonfigurationseinstellungen haben, müssen Sie zunächst auswählen, welche Konfiguration gestartet werden soll.

  7. Debuggen und überprüfen Sie den Code. Sie können beim Debuggen weitere Haltepunkte hinzufügen.

  8. Beenden Sie die Debugging-Sitzung zum Anhängen, indem Sie Trennen in der Visual Studio Code-Symbolleiste auswählen.