Qual è il miglior debugger Linux C / C ++ (o front-end per gdb) per aiutare l'insegnamento della programmazione? [chiuso]


106

Insegno una sorta di corso di programmazione C ++ "leggero" ai principianti ("lite" significa niente puntatori, niente classi, solo un semplice C vecchio, più riferimenti e stringhe e vettori STL). Gli studenti non hanno precedenti esperienze di programmazione, quindi credo che l'utilizzo di un debugger interattivo li aiuterebbe a comprendere il flusso del programma, le variabili e la ricorsione.

Il corso è tenuto in Linux. Insegnare loro a usare gdb è semplicemente eccessivo (non useranno né capiranno la maggior parte delle funzionalità). Ho solo bisogno di qualcosa di semplice ma facile da usare: per vedere in quale riga si trova il programma ora, cosa c'è nello stack (variabili locali, chiamate precedenti, ecc.). Sembro qualcosa di simile al debugger del vecchio Turbo Pascal o Turbo C ++ Borland o al debugger di Visual Studio.

Grazie,


4
Non capisco la logica di insegnare C ++ senza lezioni. Ma riconosco lo sforzo ... Di insegnare intendo :-)
m-ric

1
C / C ++ non mi sembra una buona opzione per i principianti
assoluti

Risposte:


36

ddd è un front-end grafico per gdb che è piuttosto carino. Uno degli aspetti negativi è una classica interfaccia X, ma mi sembra di ricordare che sia piuttosto intuitiva.


2
DDD è davvero un ottimo frontend. Insegnavo C ++. I miei studenti non sono mai riusciti a capire come usare gdb, ma dopo aver mostrato loro un breve tour di ddd (solo le basi e aver detto loro di compilare con -g) sono diventati rapidamente molto più abili nel debugging del loro codice e nel capire cosa è successo. L'interfaccia utente potrebbe sembrare "vecchia e datata", ma perché correggere ciò che ovviamente funziona?
wasatz

43
ddd ha una delle interfacce utente più brutte che abbia mai visto imgur.com/UFTBjnW
ubershmekel

3
anche se ho usato molto ddd per C, ha un supporto abbastanza scarso per i vettori e std :: cose in generale. Richiede regolarmente che fornisca anche il nome alterato di qualcosa per impostare un punto di interruzione. Non lo consiglierei agli studenti che eseguono i primi passi in C ++.
PypeBros

1
DDD è ottimo per ispezionare le strutture di dati perché puoi disporli su una grande scrivania e vederli come puntano l'uno verso l'altro e cose del genere. Ma è vero che è utile solo per i dati in stile C (no STL, puntatori ovunque).
Roman Plášil

1
Quella cosa ha 17 anni.
Rolf

25

Potresti provare a utilizzare Insight, un front-end grafico per gdb scritto da Red Hat. Oppure, se utilizzi l'ambiente desktop GNOME, puoi anche provare Nemiver .


4
Insight è fantastico ma è stato rimosso da Debian e non posso installarlo sul mio Linux .. Non so chi sia il responsabile, ma è entrato nella mia lista di nemici mortali e se lo incontro dovrà affrontare la mia ira! Chiunque; c'è ancora un modo per farlo funzionare ma l'interfaccia utente è un po 'incasinata: baptiste-wicht.com/2012/01/…
MasterMastic

@SamuelLampa apt-get install nemiver
Narek Babajanyan

@MasterMastic, è stato rimosso perché nessuno lo ha mantenuto, immagino. Non preoccuparti, puoi occupartene!
andrewsh

16

Potresti voler controllare Eclipse CDT. Fornisce un IDE C / C ++ che funziona su più piattaforme (ad esempio Windows, Linux, Mac OS X, ecc.). Il debug con Eclipse CDT è paragonabile all'utilizzo di altri strumenti come Visual Studio.

Puoi controllare il tutorial di debug di Eclipse CDT che include anche una serie di screenshot.


14
Amico, gli studenti impiegheranno settimane per imparare Eclipse.
MrFox

14
-1 per aver consigliato Eclipse
Celeritas

7
Non farò -1 punti ma IDE fa schifo.
ovrwngtvity

2
E visto che vi lamentate così tanto, cosa mi consigliate? code :: blocchi che non vengono aggiornati da 3 anni?
JohnJohn

3
Eclipse è ottimo per Java, ma è piuttosto negativo per C / C ++ ...

14

Qt Creator , oltre ad altre chicche, ha anche una buona integrazione con il debugger, per CDB, GDB e il debugger Symnbian, su tutte le piattaforme supportate. Non è necessario utilizzare Qt per utilizzare l'IDE di Qt Creator, né è necessario utilizzare QMake - ha anche l'integrazione con CMake, sebbene QMake sia molto facile da usare.

Potresti voler usare Qt Creator come IDE con cui insegnare la programmazione, considera che ha alcune buone caratteristiche:

  • Editor C ++ molto intelligente e avanzato
  • Progettare e costruire strumenti di gestione
  • Integrazione di QMake e CMake
  • Sistema di guida integrato e sensibile al contesto
  • Eccellente debugger visivo (CDB, GDB e Symbian)
  • Supporta GCC e VC ++
  • Strumenti di navigazione rapida del codice
  • Supporta Windows, Linux e Mac OS X

Supporta il debug di piccoli programmi che non hanno file di progetto? Ricordo di averlo usato per il mio programma più grande, ma la prima configurazione è stata piuttosto dolorosa, sebbene l'IDE sia molto buono.
syockit

12

Forse è indiretto a gdb (perché è un IDE), ma il mio consiglio sarebbe KDevelop . Essendo piuttosto viziato con il debugger di Visual Studio (professionalmente al lavoro per molti anni), finora ho sentito il debug più comodo in KDevelop (come hobby a casa, perché non potevo permettermi Visual Studio per uso personale - fino all'uscita di Express Edition ). Sembra "qualcosa di simile a" Visual Studio rispetto ad altri IDE con cui ho sperimentato (incluso Eclipse CDT) quando si tratta di eseguire il debug step-through, step-in, ecc. (Posizionare i punti di interruzione è un po 'imbarazzante perché non lo faccio Mi piace usare troppo il mouse durante la codifica, ma non è difficile).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.