Skip to main content
Únase a nosotros en TDX, San Francisco o en Salesforce+ del 5 al 6 de marzo en la conferencia de desarrolladores para la era del agente de la IA. Regístrese ahora.

Depurar su código

Nota

Nota

¿Es su idioma de aprendizaje español (LATAM)? Comience el reto en un Trailhead Playground en español (LATAM) y utilice las traducciones entre paréntesis para navegar. Copie y pegue solo los valores en inglés, ya que las validaciones del reto dependen de los datos en ese idioma. Si no aprueba el reto en su organización en español (LATAM), recomendamos que (1) cambie la configuración local a Estados Unidos, (2) cambie el idioma a inglés (según estas instrucciones) y, luego, (3) haga clic en el botón “Check Challenge” (Comprobar el reto) nuevamente.

Consulte la insignia Trailhead en su idioma para obtener más información sobre cómo aprovechar la experiencia de Trailhead en otros idiomas.

Ya con el Depurador de reproducción de Apex configurado, realicemos pruebas y depuraciones para arreglar parte del código de Apex.

Implementar metadatos en la organización

  1. En Visual Studio Code, haga clic derecho en la carpeta classes y, luego, seleccione SFDX: Deploy Source To Org (SFDX: Implementar fuente en la organización).
Nota

Si la opción SFDX: Deploy Source to Org (SFDX: Implementar fuente en la organización) no está disponible, asegúrese de haber autorizado Trailhead Playground como una organización que tenga Salesforce CLI como se indica en el paso anterior.

Ejecutar pruebas de Apex

  1. En Visual Studio Code, haga clic en el menú View (Ver) y, luego seleccione Command Palette… (Paleta de comandos…). De forma alternativa, puede utilizar el acceso directo del teclado Ctrl+Shift+P (Windows o Linux) o Cmd+Shift+P (macOS) para abrir la paleta de comandos.
  2. Ingrese apex test en el cuadro de búsqueda y seleccione SFDX: Run Apex Tests (SFDX: Ejecutar pruebas de Apex).
    Paleta de comandos filtrada para el comando SFDX: Run Apex Tests (SFDX: Ejecutar pruebas de Apex)
  3. Seleccione AccountServiceTest.
    Clases de prueba de Apex que se deben invocar desde Visual Studio Code
  4. Observe el resultado de las pruebas en el panel Output (Resultado). Oh, vaya. ¡Nuestra prueba de Apex falló! 😯
    Resultado de la prueba de Apex que muestra un mensaje de error en Visual Studio Code

El mensaje de error indica que se asignó un valor incorrecto en el campo de símbolo del teletipo de la cuenta. Establezcamos un punto de comprobación en el código, volvamos a realizar la prueba para recopilar un registro de depuración y, luego, ejecutemos nuevamente este registro para buscar el error en nuestro código 🐞.

Establecer puntos de interrupción y de comprobación

Al momento de realizar depuraciones, un punto de interrupción indica al programa en ejecución que realice una pausa en un número de línea específico para que el desarrollador pueda inspeccionar los valores de las variables en dicho momento. Los puntos de comprobación, una función especial para depurar código de Apex, son un tipo de punto de interrupción que proporciona más información mediante la captura de volcados de pila. Puede establecer tantos puntos de interrupción como desee, pero solo puede establecer hasta cinco puntos de comprobación a la vez. En comparación con los puntos de interrupción, los puntos de comprobación proporcionan información más detallada para todas las variables locales, las variables estáticas y las variables de contexto de los desencadenadores.

Utilice los comandos Debug: Toggle Breakpoint (Depurar: Alternar punto de interrupción) y SFDX: Toggle Checkpoint (SFDX: Alternar punto de comprobación) para activar o desactivar los puntos de interrupción y de comprobación, respectivamente. Los puntos de interrupción y de comprobación muestran un indicador junto al número de línea para demostrar que se han configurado. Para distinguir un punto de interrupción de uno de comprobación, los de interrupción se muestran como un punto en color rojo sólido y los de comprobación se muestran como un círculo rojo con una línea que atraviesa el centro.

  1. En Visual Studio Code, abra el archivo AccountService.cls.
  2. Para establecer un punto de interrupción, haga clic a la izquierda del número de la línea que contiene Account newAcct = new Account(.
    Punto de interrupción establecido en la línea en AccountService.cls en Visual Studio Code
  3. Coloque el cursor en la línea con la declaración return newAcct;.
    Cursor enfocado en la línea en la que se debe agregar un punto de comprobación en el archivo AccountService.cls en Visual Studio Code
  4. Abra la paleta de comandos.
  5. Ingrese sfdx checkpoint en el cuadro de búsqueda y seleccione SFDX: Toggle Checkpoint (SFDX: Alternar punto de comprobación).
    Paleta de comandos filtrada para el comando SFDX: Toggle Checkpoint (SFDX: Alternar punto de comprobación)
    Debería ver un indicador junto al número de línea que demuestra que se estableció el punto de comprobación.
    Punto de comprobación establecido en la línea en AccountService.cls en Visual Studio Code
  6. Abra la paleta de comandos e ingrese sfdx checkpoint en el cuadro de búsqueda y seleccione SFDX: Update Checkpoints in Org (SFDX: Actualizar puntos de comprobación en la organización). Debe informar a Salesforce acerca de sus puntos de comprobación para que se recopilen los volcados de pila a medida que se ejecuta el código de Apex. Si modifica el código de Apex o alterna los puntos de comprobación, vuelva a ejecutar este comando para mantener la sincronización.
    Paleta de comandos filtrada para el comando SFDX: Update Checkpoints (SFDX: Actualizar puntos de comprobación)
Nota

Puede establecer tantos puntos de interrupción como desee, pero solo puede establecer hasta cinco puntos de comprobación a la vez. Para este proyecto, debe establecer al menos el punto de comprobación antes mencionado en AccountService.cls.

Asegúrese de generar registros de depuración y volver a ejecutarlos con el Depurador de reproducción de Apex justo después de actualizar los puntos de comprobación, ya que estos vencen al cabo de 30 minutos y los volcados de pila al cabo de un día.

Ejecutar pruebas de Apex y obtener registros de depuración

Ahora que establecimos nuestros puntos de interrupción y comprobación, es momento de volver a ejecutar nuestra prueba de Apex para generar un registro de depuración activado mediante la reproducción.

  1. En Visual Studio Code, haga clic en el menú View (Ver) y, luego seleccione Command Palette… (Paleta de comandos…). De forma alternativa, puede utilizar el acceso directo del teclado Ctrl+Shift+P (Windows o Linux) o Cmd+Shift+P (macOS) para abrir la paleta de comandos.
  2. Ingrese sfdx replay en el cuadro de búsqueda y seleccione SFDX: Turn On Apex Debug Log for Replay Debugger (SFDX: Activar el registro de depuración de Apex para el Depurador de reproducción). Esta acción creará un indicador de rastreo para generar registros de depuración activados mediante la reproducción durante 30 minutos. Puede modificar la duración en Setup (Configuración) en la página Debug Logs (Registros de depuración).
    Paleta de comandos filtrada para el comando SFDX: Invoke Apex Tests (SFDX: Invocar pruebas de Apex)
  3. Abra la paleta de comandos e ingrese apex test en el cuadro de búsqueda y seleccione SFDX: Run Apex Tests (SFDX: Ejecutar pruebas de Apex).
    Paleta de comandos filtrada para el comando SFDX: Run Apex Tests (SFDX: Ejecutar pruebas de Apex)
  4. Seleccione AccountServiceTest.
    Clases de prueba de Apex que se deben invocar desde Visual Studio Code
  5. No modificamos nuestro código de Apex, por lo que deberíamos esperar que la prueba vuelva a generar un error. Lo que cambió es que ahora contamos con un registro de depuración activado mediante la reproducción y puntos de comprobación para ayudarnos a buscar y solucionar el error 🐞.
    Resultado de la prueba de Apex que muestra un mensaje de error en Visual Studio Code
  6. Abra la paleta de comandos e ingrese sfdx get en el cuadro de búsqueda y seleccione SFDX: Get Apex Debug Logs… (SFDX: Obtener registros de depuración de Apex…). Luego de unos segundos, se le pedirá que seleccione el registro de depuración que desea descargar.
    Paleta de comandos filtrada para el comando SFDX: Get Apex Debug Logs (SFDX: Obtener registros de depuración de Apex)
  7. Seleccione el registro de depuración asociado con la ejecución de prueba de Apex reciente. Por lo general, es la primera entrada en la lista. Luego de unos segundos, Visual Studio Code abrirá el registro de depuración descargado.
    Registros de depuración a descargar

Volver a reproducir un registro de depuración de Apex

En este paso, volverá a reproducir el registro de depuración que descargó recientemente. Sin embargo, otro desarrollador de su equipo podría haber generado y compartido con usted de forma sencilla el registro de depuración que vuelve a reproducir.

Nota

Cuando vuelva a reproducir un registro de depuración, asegúrese de que su proyecto de Salesforce DX contenga el mismo código de Apex de origen que generó el registro de depuración. De lo contrario, los números de línea y las variables a los que hace referencia el depurador podrían confundirlo en lugar de revelarle información. El registro de depuración se debe generar con el nivel de registro FINER o FINEST para la categoría de registro Visualforce, y un nivel de registro FINEST para la categoría de registro de código de Apex.

  1. En Visual Studio Code, abra el registro de depuración descargado en el paso anterior, si aún no se encuentra abierto. Puede buscar otros registros de depuración que descargó con Visual Studio Code en la carpeta .sfdx/tools/debug/logs.
    Navegar hasta los registros de depuración guardados
  2. Haga clic derecho en cualquier línea del registro de depuración y seleccione SFDX: Launch Apex Replay Debugger with Current File (SFDX: Iniciar el Depurador de reproducción de Apex con el archivo actual). Luego de unos segundos, Visual Studio Code abrirá la barra lateral Debug (Depuración), que estará lista para que comience a realizar acciones en el código.
    Inicio del Depurador de reproducción de Apex en Visual Studio Code
  3. Haga clic en Botón de continuación en la barra de herramientas de depuración en la barra de herramientas de depuración para continuar al primer punto de interrupción. Si establece varios puntos de interrupción, siga haciendo clic en Botón de continuación en la barra de herramientas de depuración hasta que el depurador alcance el punto de comprobación de la declaración return newAcct; en AccountService.cls.
    Sesión de depuración iniciada en Visual Studio Code
  4. El Depurador de reproducción de Apex se pausa en la línea con la declaración return newAcct; en AccountService.cls, en la que estableció el punto de comprobación en un paso anterior. En la barra lateral de depuración, se muestran los valores de las variables actuales incluidos en el ámbito. Confirmamos que el argumento tickerSymbol que se pasó al método createAccount tiene el valor esperado “CRM”, por lo que sabemos que nuestro código pasa el valor correcto al método. Hasta ahora, todo bien. 🙂
    Sesión de depuración pausada en la línea en AccountService.cls en Visual Studio Code
  5. En la barra lateral de depuración, expanda la variable newAcct y observe que el valor “SFDC” de la propiedad TickerSymbol no coincide con el valor “CRM” del argumento tickerSymbol que se pasó al método createAccount. Interesante. 🤔
    Sesión de depuración pausada en la línea en AccountService.cls en Visual Studio Code
  6. Al inspeccionar el código de AccountService.cls, observamos que hay un error de tipografía. El código asigna un argumento incorrecto: TickerSymbol = accountNumber. ¡Encontramos el error! 🐞
  7. Haga clic en Botón de detención en la barra de herramientas de depuración en la barra de herramientas de depuración para finalizar la sesión de depuración.

Implementar metadatos solucionados en la organización

  1. Corrija el código en AccountService.cls para asignar el argumento tickerSymbol al campo TickerSymbol.
    TickerSymbol = tickerSymbol
  2. Guarde el archivo.
  3. Haga clic derecho en cualquier línea del archivo y seleccione SFDX: Deploy This Source to Org (SFDX: Implementar esta fuente en la organización).

Ejecutar pruebas de Apex para verificar la solución

Ahora que ya implementamos el código actualizado, es momento de volver a ejecutar nuestra prueba de Apex para verificar la solución.

  1. Abra la Paleta de comandos.
  2. Ingrese apex test en el cuadro de búsqueda y seleccione SFDX: Run Apex Tests (SFDX: Ejecutar pruebas de Apex).
    Paleta de comandos filtrada para el comando SFDX: Run Apex Tests (SFDX: Ejecutar pruebas de Apex)
  3. Seleccione AccountServiceTest.
    Clases de prueba de Apex que se deben invocar desde Visual Studio Code
  4. Observe el resultado de las pruebas en el panel Output (Resultado). ¡Felicitaciones! Se superó la prueba de Apex. 🥳
    Resultado de la prueba de Apex que muestra el mensaje pass (aprobado) en Visual Studio Code

¡Listo, ya terminó! Acaba de desarrollar, probar y depurar código de Apex mediante el Depurador de reproducción de Apex y extensiones de Salesforce para Visual Studio Code.

Haga clic en Verify Step (Verificar paso) para confirmar la sesión de depuración con su organización de prácticas y obtener su insignia.

Recursos

Verificar paso

+100 puntos

Completará esta/este proyecto en su propia organización de prácticas. Haga clic en Iniciar para empezar a trabajar, o haga clic en el nombre de su organización para seleccionar una diferente.

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios