GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzo GDB in Eclipse per il debug C/C++?

Le seguenti istruzioni sono per Eclipse 3.5 (Galileo). Per 3.6 (Helios), sono simili ad eccezione del collegamento nel passaggio 2.

  1. Vai su Aiuto> Installa nuovo software.
  2. Aggiungi il repository CDT http://download.eclipse.org/tools/cdt/releases/galileo all'elenco dei repository.
  3. Seleziona il repository CDT. Ora devi installare il plug-in CDT insieme al supporto GDB dall'elenco dei plug-in disponibili (seleziona le funzionalità principali di CDT e il supporto per il debug della toolchain GNU CDT).

Ora dovresti essere in grado di impostare punti di interruzione e ispezionare i valori delle variabili in Eclipse.

Un'alternativa è installare DDD (un frontend GUI per GDB).


Per prima cosa scarica Eclipse CDT assicurati di poter importare un progetto in Eclipse come mostrato in:Come creare un progetto da una fonte esistente in Eclipse e poi trovarlo?

Potresti provare a testare le cose con questa semplice directory di test:https://github.com/cirosantilli/ide-test-projects/tree/e93924d4e2ce8cd64b00a7ce67d10d62b497fda1/cpp

git clone https://github.com/cirosantilli/ide-test-projects
cd ide-test-projects/cpp
make
./main.out

Ora vorrai anche dire a Eclipse come trovare i simboli della libreria standard come spiegato in:Errore "Inclusione irrisolta" con Eclipse CDT per le intestazioni della libreria standard C Le loro impostazioni predefinite sono terribili e semplicemente non funzionano.

Una volta che Eclipse ha importato il progetto, e ad es. sembra che tu sia in grado di saltare alle definizioni, ecc., impostiamo un passo di debug GDB.

Per prima cosa devi andare sotto:

  • Corri
  • Esegui configurazioni
  • Applicazione C/C++
  • cpp Predefinito ("cpp" è il nome del progetto)
  • Applicazione C/C++

e impostalo su:

main.out

Ora eclipse sa come eseguire il tuo programma. Possiamo confermarlo eseguendo un test:

  • Corri
  • Esegui (Ctrl + F11)

e il terminale in basso mostra l'output del programma:

Infine, possiamo inserire un punto di interruzione in qualsiasi punto, ad es. main facendo doppio clic sulla barra laterale a sinistra del codice, che crea un cerchio blu (mostrato nell'immagine sopra).

Ora possiamo eseguire il debug tramite:

  • Corri
  • Debug (F11)

e come previsto siamo rimasti a main :

La linea azzurra sopra (void)argv; indica che questa è la riga corrente in esecuzione nel debugger.

Da lì in poi si tratta solo di imparare l'interfaccia di debug, ad esempio:

  • scorciatoie come F6 per saltare, come ora visibile da "Esegui" (visibile solo dopo aver avviato il debug)
  • visualizzazione dei valori delle variabili in "Variabili" a destra
  • arresto delle esecuzioni con Esegui> Termina (Ctrl + F2)
  • passa argomenti al programma:argomenti della riga di comando di Eclipse

Puoi quindi tornare alla normale visualizzazione del codice (non di debug) con Ctrl + F8 una volta terminato il debug:come ripristinare la prospettiva dopo aver terminato il processo di debug in Eclipse?

Testato su Eclipse 2020-03 (4.15.0).


Linux
  1. Come utilizzare Advanced rsync per backup Linux di grandi dimensioni

  2. Come utilizzare systemd-nspawn per il ripristino del sistema Linux

  3. Come utilizzare Lightdm per le sessioni definite dall'utente?

  4. Esiste una GUI gdb C++ per Linux?

  5. Come ottenere una traccia dello stack per C++ usando gcc con le informazioni sul numero di riga?

Come controllare le porte di ascolto in Linux (porte in uso)

Come utilizzare Avidemux per l'editing video

Come eseguire un comando per un tempo specifico in Linux

Come compilare ed eseguire programmi C, C++ in Linux

Come eseguire programmi C/C++ in Linux [Terminale ed Eclipse]

Come usare IPTables invece di firewalld per Fedora 30-31-32