Estoy tratando de depurar aplicaciones remotas en un servidor en mi red local.
Servidor:
$ uname -a Linux broatyctl.localdomain 3.6.11.2-rt33.39.el6rt.x86_64 #1 SMP PREEMPT RT Thu Jul 4 06:46:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux $ gdbserver --version GNU gdbserver (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1) Copyright (C) 2010 Free Software Foundation, Inc. gdbserver is free software, covered by the GNU General Public License. This gdbserver was configured as "x86_64-redhat-linux-gnu"Puesto de trabajo:
$ uname -a Linux workstation.localdomain 3.12.7-300.fc20.x86_64 #1 SMP Fri Jan 10 15:35:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux $ gdb --version GNU gdb (GDB) Fedora 7.6.50.20130731-16.fc20Compilé una aplicación "Hello World" en la estación de trabajo y se ejecuta sin errores tanto en la estación de trabajo como en el servidor.
Concha 1:
$gdbserver localhost:2345 CrossTestConcha 2:
$ gdb CrossTest (gdb)target extended-remote localhost:2345 (gdb)runServidor:
$ gdbserver workstation.ip.address:2345 CrossTestPuesto de trabajo:
$ gdb CrossTest (gdb)target extended-remote server.ip.address:2345 (gdb)contsalida del BGF
(gdb) cont Continuing. Program received signal SIGSEGV, Segmentation fault. 0x00007f2a3b247d50 in ?? () (gdb)gdbserver me dice que hay una conexión entrante, pero no escribe mi mensaje de hola mundo.
¿Algunas ideas?
PD Ya publiqué esta pregunta en linuxquestions.org hace un tiempo. No creo que ese sea el foro correcto, así que estoy probando suerte aquí.
Compilar con -ggdb en lugar de -g Y usar el control remoto de destino en lugar de remoto extendido lo hizo.