Come eseguire il debug di un binario linux remoto?
-
22-07-2019 - |
Domanda
Ecco la situazione:
Ho un binario di Linux che sta andando in crash. Nessun file di registro, file di traccia, ecc. Devo essere in grado di collegarvi un debugger (ho il sorgente localmente) e rintracciare l'errore.
Qual è il modo più semplice e migliore per affrontare questo problema?
Soluzione
Il debug remoto è piuttosto semplice: sulla piattaforma di destinazione, avvia l'applicazione con GDBserver, specificando l'host e la porta per l'ascolto di una connessione TCP in entrata:
gdbserver HOST:PORT PROG [ARGS ...]
Sulla workstation di sviluppo, avviare il GDB cross-target:
powerpc-7450-linux-gnu-gdb PROG
Assicurati di specificare l'eseguibile senza stripping. Nella console GDB, digitare:
target remote HOST:PORT
break main
continue
Altri suggerimenti
Sembra che gdb supporti il ??debug remoto.
Non l'ho mai usato ma http://davis.lbl.gov/ Manuali / GDB / gdb_17.html sembra un inizio.
Fondamentalmente si esegue il programma sotto gdbserver sul computer di destinazione e gdb si collega (su TCP o seriale) a gdbserver.