Domanda

Attualmente sto lavorando con NS-2 (un simulatore di rete) e volevo usare l'opzione tui di gdb in modo da poter visualizzare il codice del corso durante il debug. (Proprio come Visual Studio)

A partire da ora la finestra di origine è vuota quando eseguo " gdb -tui " . Tuttavia, riesco a visualizzare il file quando eseguo un "elenco" in gdb, ma non sono in grado di farlo andare automaticamente al file e puntare al punto di interruzione.

Qualche idea su come farlo?

È stato utile?

Soluzione

Sebbene non sia sicuro della TUI GDB, se hai familiarità con vi, assicurati di dare un'occhiata a CGDB . Si tratta di un front-end TUI per GDB che utilizza combinazioni di tasti simili a vi.

Per impostare un punto di interruzione in CGDB, basta premere Esc (ovviamente), navigare fino alla linea su cui si desidera interrompere, quindi premere la barra spaziatrice!

Altri suggerimenti

Hai provato la combinazione Ctrl-X A ? Indica a gdb di entrare / uscire dalla modalità TUI.

Esegui il tuo eseguibile con gdb come:

$gdb -tui ./executable_name

Il codice sorgente verrà visualizzato non appena si esegue il comando gdb : " esegui " sul terminale gdb.

Sarebbe meglio se metti un punto di interruzione su una riga (ad esempio: nella funzione main () ), quindi esegui " esegui " ;: Il codice sorgente sarebbe visibile ora.

Puoi sempre ricontrollare in modo che il file elf contenga dati corretti.

Supponiamo che tu rompa il tuo programma in qualche posto, e lì otterrai un po 'di lettura sul pc (contatore dei programmi). Quel valore può essere incrociato con addr2line (in binutils) in modo da avere un file sorgente corretto.

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