Uso delle configurazioni di collegamento e debug con collegamento

Completato

Come con il debugger di istantanee, collegare il debugger AL a una sessione in esecuzione esistente o alla sessione successiva per l'utente specifico. In entrambi i casi, si imposta specificando un ID sessione o un ID utente nella configurazione di collegamento launch.json.

È inoltre disponibile un nuovo set di autorizzazioni Collega debug per consentire il debug tra utenti.

Se non si desidera pubblicare e richiamare la funzionalità per eseguirne il debug, è possibile invece collegare una sessione a un determinato server e attendere un processo per attivare il punto di interruzione impostato. Dopodiché il debug inizia quando viene raggiunto il codice su cui è impostato il punto di interruzione.

Per usare la funzionalità di collegamento, è necessario assicurarsi che l'app sia pubblicata con CTRL+F5, o con ALT+CTRL+F5 per la pubblicazione RAD, prima di avviare la sessione di debug con F5. La creazione di una nuova sessione server dal client si può ottenere, ad esempio, avviando una nuova sessione client. Premere F5 (Aggiorna) in un browser potrebbe non creare una nuova sessione server, perché è memorizzata nella cache, ma se una sessione è scaduta e viene aggiornata, in tal caso si crea una nuova sessione.

Solo l'utente che avvia una sessione di collegamento di Visual Studio Code può emettere la richiesta Web sul server.

È possibile attivare la funzionalità di collegamento creando una nuova configurazione nel file launch.json. La configurazione ha due varianti:

  • Collegamento al client nella sandbox cloud

  • Collegamento al client sul server

Usare la prima opzione per collegarsi a una sessione cloud e la seconda per collegarsi a un server locale.

Con il primo ciclo di rilascio 2023 di Business Central, vengono aggiunte due nuove proprietà alla configurazione di avvio, sessionId e userId, che consentono di collegarsi a una sessione in corso e anche di eseguire il debug per conto di un altro utente.

Nella configurazione di collegamento, l'impostazione breakOnNext specifica il client successivo su cui eseguire l'interruzione quando la sessione di debug si avvia e consente una sola opzione. Le opzioni disponibili sono:

  • WebServiceClient

  • WebClient

  • Background

Altre due importanti proprietà sono sessionId e userId. sessionId specifica una sessione in corso del tipo specificato in breakOnNext. Questa sessione deve appartenere all'utente indicato nella proprietà userId, se specificata.

Se sessionId non è specificata, ma userId lo è, il debugger si collega alla sessione successiva del tipo specificato in breakOnNext per l'utente specificato.

Se userId è un utente diverso dall'utente che ha effettuato l'accesso a Visual Studio Code, l'utente che ha eseguito l'accesso a Visual Studio Code deve far parte del set di autorizzazioni D365 ATTACH DEBUG.

Il debugger può connettersi a sessioni in background e non ad attività in background.

Questo esempio illustra una configurazione per un server locale.

{
            "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"
        }

Avvio di una sessione di collegamento

Per avviare una sessione di collegamento, effettuare i seguenti passaggi:

  1. In Visual Studio Code, sotto Esegui scegliere Aggiungi configurazione.

  2. Scegliere se collegarsi a una sessione cloud o locale. A questo punto, il file launch.json è popolato con le impostazioni di configurazione di collegamento corrette. Nel caso di selezione di una sessione locale, modificare le impostazioni predefinite in modo che puntino al server locale nelle impostazioni server e serverInstance.

  3. Impostare la proprietà breakOnNext per specificare il tipo di client in corrispondenza del quale eseguire l'interruzione.

  4. Nel codice impostare almeno un punto di interruzione usando Esegui nella barra degli strumenti, scegliere Nuovo punto di interruzione, quindi il tipo di punto di interruzione da aggiungere. Si possono aggiungere diversi punti di interruzione durante il debug.

  5. Se l'app più recente non è ancora stata pubblicata, è importante assicurarsi di pubblicarla premendo CTRL+F5 o ALT+CTRL+F5 per la pubblicazione RAD. Usare quindi F5 per avviare la sessione di collegamento. Se si modifica il codice dell'app durante la sessione di debug, assicurarsi di ripubblicare l'app usando CTRL+F5.

  6. Dopo aver pubblicato l'app, premere F5 per avviare una sessione di debug. Se sono disponibili più impostazioni di configurazione di collegamento, è necessario prima selezionare la configurazione da avviare.

  7. Eseguire il debug e il controllo del codice. Si possono aggiungere diversi punti di interruzione durante il debug.

  8. Per interrompere la sessione di debug di collegamento, selezionare Scollega nella barra degli strumenti di Visual Studio Code.