Depuración Remota Gráfica de GDB con VSCode

Al estar acostumbrado a la depuración con interfaz gráfica en entornos de desarrollo integrados, el uso inicial de la depuración remota con GDB puede resultar poco familiar. A continuación, se explica cómo utilizar VSCode para lograr una depuración remota gráfica de GDB.

Si el código reside en un servidor Linux y normalmente se desarrolla en Windows, se debe enstalar el plugin "Remote - SSH" en VSCode. Esto permite realizar el desarrollo y la depuración desde Windows.

Configuración de VSCode para Depuración Remota

Para configurar la depuración remota, siga estos pasos:

  1. Dentro del directorio .vscode de su proyecto en VSCode, cree un archivo llamado launch.json.
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Iniciar Depuración Remota",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/ruta/al/ejecutable", // Ruta completa al ejecutable en el servidor remoto
            "args": [
                "parametro1", // Argumentos para el programa
                "parametro2"
            ],
            "stopAtEntry": false, // Opcional: poner a true para detenerse en la entrada (main)
            "cwd": "${workspaceFolder}", // Directorio de trabajo en el servidor remoto
            "environment": [], // Variables de entorno a preconfigurar
            "externalConsole": false, // Opcional: poner a true para usar una consola externa
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb", // Ruta al ejecutable de GDB en el cliente (si es necesario)
            "miDebuggerServerAddress": "ip_del_servidor:puerto", // IP y puerto donde gdbserver está escuchando
            "setupCommands": [
                {
                    "description": "Habilitar impresión detallada para GDB",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

Asegúrese de reepmlazar ${workspaceFolder}/ruta/al/ejecutable con la ruta correcta a su programa en el servidor, ip_del_servidor:puerto con la dirección IP y el puerto correctos donde se ejecuta gdbserver, y ajuste los argumentos según sea necesario.

Iniciar el Servidor de Depuración en el Dispositivo Remoto

  1. En el dispositivo de destino (servidor), ejecute el programa que desea depurar utilizando gdbserver. Por ejemplo:
# Ejecutar gdbserver en el puerto 8005, adjuntando al ejecutable 'mi_programa' con sus argumentos
gdbserver --remote-debug ip_del_cliente:puerto_escucha ./mi_programa arg1 arg2

Este comando iniciará gdbserver, que escuchará las conexiones entrantes en el puerto especificado y adjuntará el depurador al proceso del programa.

Iniciar la Depuración en VSCode

  1. Inicie la sesión SSH en su servidor remoto desde VSCode.
  2. Navegue hasta la pestaña "Ejecutar y depurar" (Run and Debug) en VSCode.
  3. Seleccione la configuración de lanzamiento que creó (por ejemplo, "(gdb) Iniciar Depuración Remota") desde el menú desplegable.
  4. Presione F5 o haga clic en el botón "Iniciar Depuración".

VSCode se conectará a gdbserver en el dispositivo remoto. Podrá establecer puntos de interrupción, inspeccionar variables y controlar la ejecución del programa a través de la interfaz gráfica de VSCode.

Etiquetas: VSCode GDB depuracion remota SSH cpp

Publicado el 6-18 21:45