Programa que permite depurar aplicaciones en una máquina remota o incluso en la misma máquina, usando GNU Debugger. Lo que hace es ejecutar un programa objetivo y comunicarse con gdb a través de una red [TCP] o incluso por un puerto serie. Actualmente, gdb es compatible con C, C++, D, Objective-C, Fortran, Java, OpenCL C, Pascal, ensamblador, Modula-2, Go y Ada.
$ gdbserver localhost:1234 ./mi_programa
1.-
Supongamos un programa llamado saludo.c
$ gcc -g saludo.c -o saludo
$ gdbserver localhost:1234 ./saludo
Saldrá algo como:
Process ./saludo created; pid = 12345
Listening on port 1234
En otra terminal, abrir gdb
$ gdb saludo
(gdb) target remote localhost:1234
Ahora se pueden usar comandos como:
(gdb) break main # Poner un punto de ruptura en main
(gdb) continue # Continuar ejecución
(gdb) step # Ejecutar línea a línea
(gdb) print nombre # Ver el valor de variables
$ gdbserver 192.168.1.100:1234 ./saludo