Visto le mille richieste di domande sempre pertinenti al debugger vediamo oggi come si installa Visual C++ 2010 Express (versione gratuita) e come utilizzare il suo potentissimo debugger per trovare gli errori logici e non dei nostri programmi.
Iniziamo a scaricare il compilatore su:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
A metà pagina a destra troviamo la lingua di installazione. Scegliamo Italiano e poi Install Now.
Il programma di installazione si presenta così.
L’installazione è abbastanza intuitiva e basta proseguire col wizard.
A fine installazione apriamo il VC++ 2010 Express e ci troviamo ad una schermata pressappoco così:
Iniziamo col creare un nuovo progetto (Il nome di questo progetto sarà HelloWord):
Scegliamo Visual C++ -> Win32 -> Win32 Applicazione Console (Win32 Console Application)
Proseguiamo col wizard facendo Avanti:
Togliamo il flag su Header precompilati e poi lasciamo il resto così come proposto
Cancelliamo dalle risorse il file stdafx.h, stdafx.cpp e targetver.h. cambiamo il nostro listato come da immagine allegata. Alla fine avremmo una schermata pressappoco così:
Parliamo adesso del debugger e dei breakpoint:
Col debug si definisce la procedura di eliminazione errori (i cosiddetti bug) logici e/o di distrazione di un programma. Quindi come facciamo a trovare i nostri errori col Visual C++?
Semplice esiste il menu Debug nel IDE che serve proprio a questo scopo.
I breakpoint (punti di interruzione) sono i punti in cui noi vogliamo che il programma fermi la sua esecuzione faccendoci vedere lo stato delle variabili che il programma sta utilizzando in quel preciso momento. I breakpoint si inseriscono andando a sx nella riga in cui vogliamo interrompere il programma e cliccando col pulsante sx del mouse. Si aggiungerà un pallino rosso a sx della suddetta riga.
Quindi andiamo su Debug->Inizia debug (F5 come tasto rapido)
Il programma si fermerà come in figura sotto: da notare il valore della variabile i. Siccome il programma non ha ancora oltrepassato questa riga vedremo come il valore della variabile i è random (in realtà esso è un valore ben preciso è cioè 0xCCCCCCCC che significa memoria non inizializzata ma tralasciamo per il momento). Per questo motivo si consiglia fortemente di INIZIALIZZARE sempre le variabili per non rincorrere a spiacevoli sorprese nel futuro.
Vedete quel cerchio che ingloba 3 comandi del toolbar. Sono i comandi del debugger e più precisamente:
Step Into: Se nella riga dove ci troviamo ci fosse una chiamata ad una funzione con questo comando il compilatore salterebbe all’esecuzione della funzione che viene chiamata. In questo modo possiamo vedere veramente cosa succede nella funzione che noi chiamiamo.
Step Over : Se nella riga dove ci troviamo ci fosse una chiamata ad una funzione con questo comando il compilatore eseguirebbe la funzione senza entrare nei dettagli ma ci farebbe vedere i risultato della funzione.
Step Out: Serve per uscire da una funzione. Quindi se prima abbiamo cliccato Step Into e non vogliamo vedere come prosegue lo sviluppo con sto commando potremmo ritornare alla riga che ha chiamato sta funzione.
Oltrepassando la riga dove ci siamo fermati con Step over vediamo che la variabile
i prende il valore di inizializzazione = 5.
Sempre con Step Over proseguiamo per una altra riga e ci fermiamo nella riga dove viene presentato allo schermo la variabile
i. Adesso andando sulla schermata Auto dove la variabile
i ha il valore 5 proviamo a cambiarla:
Adesso proseguiamo vediamo che su schermo verrà stampato il valore 10 invece che 5. Questo ci conferma che col debugger possiamo verificare e cambiare veramente on-the-fly il nostro programma.
Grazie per l’attenzione.