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:
- Dentro del directorio
.vscodede su proyecto en VSCode, cree un archivo llamadolaunch.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
- 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
- Inicie la sesión SSH en su servidor remoto desde VSCode.
- Navegue hasta la pestaña "Ejecutar y depurar" (Run and Debug) en VSCode.
- Seleccione la configuración de lanzamiento que creó (por ejemplo, "(gdb) Iniciar Depuración Remota") desde el menú desplegable.
- 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.