Usar vincular y depurar con configuraciones de vinculación

Completado

Al igual que con el depurador de instantáneas, vincule el depurador AL a una sesión en ejecución existente o a la siguiente sesión para el usuario específico. En ambos casos, se configura especificando un id. de sesión o de usuario en la configuración de vinculación launch.json.

Además, hay un nuevo conjunto de permisos Vincular depuración para permitir la depuración entre usuarios.

Si no desea publicar e invocar la funcionalidad para depurarla, puede vincular una sesión a un servidor específico. Luego, espere a un proceso para activar el punto de interrupción que ha establecido. Luego, se iniciará la depuración cuando se llegue al código en el que está establecido el punto de interrupción.

Para usar la funcionalidad de vinculación, la aplicación se debe publicar con Ctrl+F5 (o con Alt+Ctrl+F5 para la publicación RAD) antes de iniciar la sesión de depuración con F5. Se puede crear una nueva sesión de servidor desde el cliente, por ejemplo, iniciando una nueva sesión de cliente. Al pulsar F5 (Actualizar) en un navegador, es posible que no se cree una nueva sesión de servidor porque está en caché, pero si una sesión caduca y se actualiza, se creará una nueva sesión.

Solo el usuario que inicia una sesión de vinculación en Visual Studio Code puede emitir la solicitud web en el servidor.

Puede activar la funcionalidad de vinculación. Para ello, cree una nueva configuración en el archivo launch.json. La configuración tiene dos variantes:

  • Vincular al cliente en el espacio aislado de nube

  • Vincular al cliente en su servidor

Use la primera opción para vincular a una sesión en la nube y la segunda opción para vincular a un servidor local.

Con el primer lanzamiento de versiones de Business Central de 2023, se han agregado dos nuevas propiedades a la configuración de lanzamiento: sessionId y userId, que permiten adjuntar a una sesión en curso y depurar en nombre de otro usuario.

En la configuración de la vinculación, el ajuste breakOnNext especifica el siguiente cliente en el que se debe realizar una interrupción cuando se inicia la sesión de depuración, y solo permite una opción. Estas son las opciones disponibles:

  • WebServiceClient

  • WebClient

  • Información general

Otras dos propiedades importantes son sessionId y userId. sessionId especifica una sesión en curso del tipo especificado en breakOnNext. Esta sesión debe pertenecer al usuario en la propiedad userId si se especifica.

Si no se especifica sessionId, pero sí se especifica userId, el depurador se vincula a la siguiente sesión del tipo especificado en breakOnNext para el usuario correspondiente.

Si userId está en un usuario diferente al usuario que inició sesión en Visual Studio Code, el usuario que inició sesión en Visual Studio Code debe ser parte de un conjunto de permisos D365 ATTACH DEBUG.

El depurador puede conectarse a sesiones en segundo plano y no a tareas en segundo plano.

Este ejemplo muestra una configuración para un servidor local.

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

Iniciar una sesión de vinculación

Para iniciar una sesión de vinculación, siga estos pasos:

  1. En Visual Studio Code, en Ejecutar, elija Agregar configuración.

  2. Elija si desea vincularse a una nube o a una sesión local. El archivo launch.json se rellenará con la configuración de vinculación correcta. Si ha seleccionado una sesión local, cambie la configuración predeterminada para que apunte a su servidor local en la configuración del servidor y de serverInstance.

  3. Establezca la propiedad breakOnNext de modo que especifique el tipo de cliente en el que debe estar la interrupción.

  4. En su código, establezca al menos un punto de interrupción con la opción Ejecutar de la barra de herramientas. Escoja Nuevo punto de interrupción y el tipo de punto de interrupción que desee agregar. Puede agregar más puntos de interrupción durante la depuración.

  5. Si su aplicación más reciente aún no se ha publicado, es importante que se asegure de publicarla presionando Ctrl+F5 (o Alt+Ctrl +F5 para la publicación RAD). Luego, use F5 para iniciar la sesión de vinculación. Si modifica el código de la aplicación durante la sesión de depuración, asegúrese de volver a publicar la aplicación usando Ctrl+F5.

  6. Después de publicar la aplicación, presione F5 para iniciar la sesión de depuración. Si tiene más ajustes de configuración de vinculación, debe seleccionar primero qué configuración va a iniciar.

  7. Depure e inspeccione el código. Puede agregar más puntos de interrupción durante la depuración.

  8. Detenga la sesión de depuración adjunta. Para ello, seleccione Desasociar en la barra de herramientas de Visual Studio Code.