1. Insetto
I programmatori hanno il loro gergo, anche se molti lo considerano un gergo tecnico. In ogni caso, non puoi evitare di conoscerlo. Devi immergerti nei dettagli. Quindi tuffiamoci dentro.
Una delle prime parole che imparerai a conoscere è " bug ", cioè un insetto . Nel contesto dello sviluppo del software, questa parola indica un errore in un programma, un'istanza del programma che fa qualcosa di sbagliato o non del tutto corretto. O semplicemente funziona in modo strano.
Ma se un programmatore pensa che il programma, nonostante il suo strano comportamento, stia facendo esattamente quello che dovrebbe, allora di solito dichiara qualcosa come "non è un bug, è una caratteristica". Il che ha generato un sacco di meme su Internet.
In generale, ci può essere un numero qualsiasi di motivi per un difetto del software: qualsiasi cosa, da errori nella logica del programma, errori di battitura e architettura del programma errata, fino a problemi nel compilatore. In ogni caso, i programmatori devono correggere sia i veri bug che qualsiasi altra "mancanza" nei loro programmi.
La storia della parola "insetto"
La versione più comune dell'origine della parola "insetto" è una specie di leggenda.
Nel settembre 1945, gli scienziati dell'Università di Harvard stavano testando uno dei primi computer, il Mark II. Il computer non funzionava correttamente e, mentre controllavano tutte le schede, trovarono una falena incastrata tra i contatti di un relè elettromeccanico.
L'insetto estratto è stato registrato in un registro tecnico, accompagnato da questa iscrizione: "Primo caso effettivo di insetto trovato".
Si ritiene che questa storia divertente sia l'inizio dell'uso della parola " bug " per indicare un errore, e la parola " debug " è diventata sinonimo di eliminazione dei bug.
2. Debug del programma
Per correggere i bug nei loro programmi, i programmatori usano programmi speciali chiamati debugger . Alcuni di questi programmi sanno persino come eseguire il debug del codice macchina.
I programmatori Java utilizzano gli IDE per il debug dei loro programmi. Come IntelliJ IDEA, Eclipse e NetBeans. IntelliJ IDEA è di gran lunga l'IDE più potente, quindi esamineremo il processo di debug usandolo come esempio.
IntelliJ IDEA può eseguire il programma in due modalità:
Modalità di esecuzione | Icona della barra degli strumenti | Tasti di scelta rapida |
---|---|---|
Esecuzione normale | Shift +F10 |
|
Avvia in modalità di debug | Shift +F9 |
Hai già familiarità con l'esecuzione normale: il programma si avvia, viene eseguito ed esce. Ma la modalità debug ha molte sorprese in serbo per te.
Modalità di debug
La modalità di debug ti consente di seguire passo dopo passo l'intero programma. O più precisamente, ti consente di spostarti riga per riga . Inoltre, puoi osservare i valori delle variabili in ogni fase del programma (dopo l'esecuzione di ogni riga di codice). E puoi anche cambiare i loro valori!
Per acquisire anche una minima conoscenza del debug di un programma, devi imparare tre cose:
- Punti di interruzione
- Esecuzione passo dopo passo
- Controllo del valore delle variabili
3. Punti di interruzione
L'IDE ti consente di inserire marcatori speciali chiamati punti di interruzione nel tuo codice. Ogni volta che un programma in esecuzione in modalità debug raggiunge una riga contrassegnata da un punto di interruzione , l'esecuzione verrà messa in pausa.
Per inserire un punto di interruzione su una riga specifica, è sufficiente fare clic a sinistra della riga in IDEA. Esempio:
La linea sarà contrassegnata da un punto di interruzione e IntelliJ IDEA lo evidenzierà in rosso:
Un secondo clic del mouse sul riquadro a sinistra del codice rimuoverà il punto di interruzione .
Un punto di interruzione può anche essere posizionato sulla riga corrente semplicemente utilizzando la combinazione di tasti di scelta rapida Ctrl
+ F8
. Premendo di nuovo Ctrl
+ F8
su una riga che ha già un punto di interruzione lo cancellerà.
4. Avviare il programma in modalità debug
Se hai almeno un punto di interruzione nel tuo programma, puoi eseguire il programma in modalità debug premendo Shift
+ F9
o facendo clic sull'icona "bug".
Dopo l'avvio in modalità debug, il programma viene eseguito normalmente. Ma non appena raggiunge una riga di codice contrassegnata da un breakpoint , si fermerà. Esempio:
Nella metà superiore dello screenshot, vedi il codice del programma con due punti di interruzione. L'esecuzione del programma si è fermata alla riga 5, contrassegnata da una linea blu. La riga 5 non è stata ancora eseguita: non è stato ancora inviato nulla alla console.
Nella metà inferiore dello schermo vengono visualizzati i riquadri di debug: il riquadro Debugger , il riquadro Console e una serie di pulsanti per la modalità di debug.
È possibile riattivare il programma (ovvero continuare l'esecuzione) premendo il pulsante Riprendi programma nel riquadro in basso a sinistra (o premere F9
).
Se si preme questo pulsante (o F9
), il programma continuerà a essere eseguito finché non incontra il punto di interruzione successivo o termina. Ecco cosa vediamo dopo aver fatto clic sul pulsante:
Il programma si è fermato al secondo punto di interruzione e le parole Hello
e and
possono essere visualizzate nella console. Questo è un segno che abbiamo eseguito solo due delle tre righe che visualizzano l'output sullo schermo.
5. Esecuzione passo dopo passo
Se il tuo programma è in esecuzione in modalità debug, puoi anche eseguirlo: un passaggio è una riga . Ci sono due tasti di scelta rapida per l'esecuzione passo-passo: F7
e F8
: ognuno provoca l'esecuzione della riga di codice corrente. Ma prima devi ancora fermare il tuo programma con un breakpoint .
Se vuoi eseguire il tuo programma riga per riga, devi inserire un punto di interruzione all'inizio del main()
metodo ed eseguirlo in modalità debug.
Quando il programma si ferma, puoi iniziare a eseguirlo riga per riga. Una pressione del F8
tasto esegue una riga.
Ecco come appare il nostro programma dopo che si è fermato e abbiamo premuto il F8
tasto una volta:
La prima riga del metodo principale è già stata eseguita e la riga corrente è la seconda riga. Puoi anche vedere nella parte inferiore dello screenshot che la parola Hello
è già visualizzata sullo schermo.
6. Esecuzione passo-passo con l'accesso ai metodi
Se hai scritto i tuoi metodi nel programma e vuoi che l'esecuzione avvenga all'interno dei tuoi metodi in modalità debug, cioè vuoi "entrare nel metodo", allora devi premere invece F7
di F8
.
Supponiamo che tu esegua il programma e ti trovi ora fermo alla riga 4. Se premi F8
, IDEA eseguirà semplicemente la quarta riga e passerà alla quinta.
Ma se premi F7
, IDEA entrerà nel main2()
metodo:
È molto semplice. Se non ti interessa davvero cosa succede all'interno di un metodo o come, allora premi F8
. Se è importante, premi F7
e scorri tutto il suo codice.
GO TO FULL VERSION