stringtranslate.com

servidor gdb

gdbserver es un programa informático que permite depurar remotamente otros programas. [1] Al ejecutarse en el mismo sistema que el programa que se va a depurar, permite que GNU Debugger se conecte desde otro sistema; es decir, sólo el ejecutable que se va a depurar necesita residir en el sistema de destino ("target"), mientras que el código fuente y una copia del archivo binario que se va a depurar residen en la computadora local del desarrollador ("host"). La conexión puede ser TCP o una línea serial.

Cómo funciona

  1. gdbserverse lanza en el sistema de destino, con los argumentos:
    • Ya sea un nombre de dispositivo (para usar una línea serial) o un nombre de host TCP y un número de puerto, y
    • La ruta y el nombre del archivo ejecutable que se va a depurar
    Luego espera pasivamente que el host gdb se comunique con él.
  2. gdbse ejecuta en el host, con los argumentos:
    • La ruta y el nombre del archivo ejecutable (y cualquier fuente) en el host, y
    • Un nombre de dispositivo (para una línea serial) o la dirección IP y el número de puerto necesarios para la conexión al sistema de destino.

Ejemplo de depuración de un programa llamado hello_worlden un destino remoto mediante TCP ("2159" es el número de puerto TCP registrado para GDB remoto ):

remoto@~$ gdbserver  :2159  hello_world Proceso hello_world creado; pid = 2509 Escuchando en el puerto 2159
local@~$ gdb  -q  hello_world Leyendo símbolos de /home/user/hello_world...hecho. (gdb)  target remote 192.168.0.11:2159 Depuración remota usando 192.168.0.11:2159 0x002f3850 en ?? () desde /lib/ld-linux.so.2 (gdb)  continue Continuando.El programa recibió la señal SIGSEGV, Fallo de segmentación. 0x08048414 en main() en hello_world.c:10 10 printf("x[%d] = %g\n", i, x[i]); (gdb)

Alternativas

Otra técnica para depurar programas de forma remota es utilizar un stub remoto . [2] [ aclaración necesaria ] En este caso, el programa que se va a depurar se vincula con algunas subrutinas de propósito especial que implementan el protocolo serial remoto GDB. El archivo que contiene estas subrutinas se denomina "stub de depuración".

Véase también

Notas

  1. ^ Manual del BGF
  2. ^ Depuración con GDB

Referencias

Enlaces externos