gdbserver est une commande Unix permettant de déboguer à distance (debug croisé) avec le GNU Debugger.

Il ne requiert que la présence de l'exécutable sur la cible, les fichiers sources restent du côté de la machine hôte utilisé par le développeur (avec tout de même une copie du binaire).

Principe de fonctionnement

  1. gdbserver est lancé sur la cible avec le chemin et le nom de l'exécutable à déboguer, et le numéro de port série, TCP ou UDP sur lequel écouter.
  2. gdb est lancé sur l'hôte avec le chemin et le nom de l'exécutable (et des sources) sur l'hôte, l'adresse ip et le numéro de port sur lequel se connecter (ou le port série).

Voici un exemple de commande à exécuter sur la cible (où "hello_world" est le nom de l'exécutable à lancer et "2345" le numéro de port TCP) :

gdbserver host:2345 hello_world

Côté hôte gdb se lance classiquement

gdb hello_world

puis nécessite de se connecter à distance

target remote 192.168.0.11:2345

Voir aussi

Articles connexes

  • GNU Debugger
  • Debug croisé
  • kgdb, permettant de faire du debug (à distance) dans le noyau Linux

Liens externes

  • (en) Site officiel de gdb
  • (en) Debugging Remote Programs
  • Portail des logiciels libres
  • Portail de la programmation informatique

Remote GDB Server CLion

03.Remote Debugging Using Gdbserver Jay's Dev Blog

debugging GDB on Windows machine Stack Overflow

GDB Page 2

GDB server PCSXRedux