Nell'ambito dello sviluppo del software, un breakpoint è un punto di interruzione nel codice di un programma, normalmente usato per scopi di debugging. Si tratta di uno strumento che consente di interrompere l'esecuzione di un programma in punto desiderato oppure quando si verificano determinate condizioni, allo scopo di acquisire informazioni sul programma stesso.[1] In particolare, il programmatore può analizzare lo stato di file di log, variabili o registri al punto in cui il programma è stato interrotto, per verificare se il programma funziona come previsto o, in caso contrario, per risalire alla causa del malfunzionamento (bug).
Condizioni per un breakpoint
[modifica | modifica wikitesto]In pratica, un breakpoint è definito in base a una serie di condizioni che determinano quando il programma debba essere interrotto.
La versione "classica" del breakpoint, quella più semplice, interrompe il programma immediatamente prima che venga eseguita una certa istruzione specificata dal programmatore, presente in una certa riga del codice.
In altri casi (quelli più comuni), l'esecuzione del programma può essere interrotta:
- quando si tenta di leggere o scrivere su una determinata variabile o un'area di memoria (watchpoint);
- quando una variabile è modificata così da assumere un valore ben definito (watchpoint);
- quando è lanciata un'eccezione (in linguaggi quali C, Java, ecc.);
- all'entrata o all'uscita di una certa procedura o metodo.
Queste condizioni, semplici di per sé, facilitano notevolmente il compito del programmatore. Ad esempio esse rendono possibile interrompere il programma solo quando necessario, cioè quando è superfluo controllare la validità dello stato delle variabili nel programma quando queste assumono determinati valori (che già a priori si sa che sono corretti).
Caratteristiche
[modifica | modifica wikitesto]I tipi di breakpoint utilizzabili per il controllo di un programma dipendono dal linguaggio utilizzato e soprattutto dall'IDE. IDE diversi forniscono tipi di breakpoint con caratteristiche sempre più avanzate e precise, per facilitare l'operazione di debugging.
Nei linguaggi multithreaded, in genere è possibile scegliere se un breakpoint debba interrompere solo il thread coinvolto o anche gli altri threads.
Note
[modifica | modifica wikitesto]- ^ Definizione di breakpoint, su treccani.it. URL consultato il 5 maggio 2022.
Collegamenti esterni
[modifica | modifica wikitesto]- Breakpoint, su Treccani.it – Enciclopedie on line, Istituto dell'Enciclopedia Italiana.
- Breakpoint, su Vocabolario Treccani, Istituto dell'Enciclopedia Italiana.
- (EN) Denis Howe, breakpoint, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL