Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Depura un servicio que se ejecuta de manera local

Con Cloud Code, puedes depurar tus servicios de Cloud Run de forma local en un entorno similar a Cloud Run. Puedes establecer interrupciones, revisar el código y depurar servicios remotos que se ejecutan en contenedores.

Define tu configuración de depuración

Antes de depurar tu servicio, debes crear tu configuración de depuración:

  1. Navega al selector de configuración de ejecución y depuración en la barra de navegación y haz clic en "Editar configuraciones".
  2. Elige “Cloud Run: Run Locally” en Cloud Code: Cloud Run.
  3. Haz clic en OK (Aceptar).

Depura tu servicio

Para depurar tu servicio, sigue estos pasos:

  1. Haz clic en la acción de depuración Icono de acción de depuración para “Cloud Run: Run Locally” a fin de iniciar el ciclo de desarrollo en modo de depuración.

    Haz clic para ejecutar en Cloud Run: Run Locally en modo de depuración

  2. Cloud Code adjuntará una sesión de depuración. Una vez que se complete de forma correcta, se abrirá la ventana de la Herramienta de depuración para confirmar la conexión (dentro de la pestaña Console).

  3. Haz clic en el margen en la línea ejecutable del código en el que deseas agregar una interrupción.

    Los círculos rellenos de color rojo indican las interrupciones activas, mientras que los círculos vacíos con contornos rojos indican las interrupciones inhabilitadas.

  4. Para acceder a su servicio en ejecución, haga clic en la URL que se muestra en su panel de registro de eventos.

    Cuando lo hagas, se enviará una solicitud nueva a tu servicio y se pausará en la línea marcada por punto de interrupción.

    Registro de eventos con notificación de implementación exitosa y URL para obtener una vista previa de su servicio

  5. Para finalizar la sesión de depuración, haz clic en el ícono de detener en la configuración de ejecución de Cloud Run: Run Locally.

Detalles de configuración

Cloud Code, con la tecnología de Skaffold, puede ayudarte a configurar tus sesiones de depuración. Con Cloud Code, puedes configurar interrupciones y depurar aplicaciones remotas que se ejecutan en contenedores para los siguientes lenguajes:

Java

Cloud Code agrega de forma automática una variable de entorno, JAVA_TOOL_OPTIONS, con la configuración de JDWP adecuada para habilitar la depuración. Si JAVA_TOOL_OPTIONS ya está presente, Cloud Code usa la configuración existente especificada en JAVA_TOOL_OPTIONS.

Node.js

Según la estructura de tu aplicación y la configuración de compilación de la imagen, puedes ayudar a que el depurador asigne tus fuentes locales a las fuentes remotas en el contenedor. Esto permite que el depurador de nodos procese tus interrupciones de forma correcta.

Puedes configurar esto de una de las siguientes maneras:

  • Configuración manual

    Selecciona la configuración de ejecución de Cloud Run: Ejecutar de manera local en el menú desplegable y, luego, haz clic en Editar configuraciones. En la pestaña Depuración, configura la asignación de origen desde la fuente de tu aplicación local a la ubicación de origen en el contenedor remoto.

    Elige una ubicación de origen en la sección de asignación de origen de la pestaña de Depuración

    Opciones de configuración:

    • Archivo/directorio: el archivo o directorio local de tu aplicación que se ejecuta en Cloud Run.
    • Ruta de acceso remota: Es la ruta de acceso al archivo o directorio que se ejecuta en el contenedor en Cloud Run.
  • Configuración automática

    Puedes optar por diferir este mapeo a Cloud Code. Cuando inicias tu sesión de depuración, Cloud Code intenta inferir esta asignación automáticamente. Se te muestra la asignación inferida en un diálogo. un diálogo para cada artefacto que depuras

    Diálogo de mapeo de la ruta de acceso remoto para cada artefacto que especifica la ruta remota que se usará

    Opciones de configuración:

    • Local path: es la ruta de acceso local a la raíz del artefacto que se depura.
    • Ruta de acceso remota: Es la ruta de acceso al archivo o directorio que se ejecuta en el contenedor en Cloud Run. Puedes anular esto con tu propio valor. Si haces clic en Cancelar, no se aplica ninguna asignación.

Comienza a usarlo

Para configurar la aplicación para la depuración, tu aplicación debe ser una aplicación basada en el módulo de Go y debe identificarse como basada en Go; para ello, configura uno de los estándares Variables de entorno de entorno de ejecución de Go en el contenedor, como GODEBUG, GOGC, GOMAXPROCS o GOTRACEBACK. GOTRACEBACK=single es la configuración predeterminada para Go y GOTRACEBACK=all es una configuración de general.

De forma opcional (pero recomendada), tu aplicación debe compilarse con las opciones -gcflags='all=-N -l' para inhabilitar las optimizaciones. Los perfiles de Skaffold son una opción útil para este propósito y se pueden establecer con el campo Perfil de implementación en tu configuración de ejecución en el Build/Deploy.

Para obtener más detalles, consulta la documentación de depuración de Skaffold.

Obtén asistencia

Si deseas enviar comentarios, informa un problema en GitHub o haz una pregunta en Stack Overflow.