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?

È stato utile?

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

Debug remoto tra target con GDB e GDBserver

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top