Debugging: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} (FAQ)
Correggo link
 
(4 versioni intermedie di 3 utenti non mostrate)
Riga 2:
[[File:Coding Shots Annual Plan high res-5.jpg|thumb|Uno [[sviluppatore software]] esegue un debugging]]
{{F|software|gennaio 2019}}
 
Il '''debugging''' (o semplicemente '''debug''') o '''depurazione''', in [[informatica]], nell'ambito dello [[sviluppo software]], indica l'attività che consiste nell'individuazione e correzione da parte del [[programmatore]] di uno o più errori ([[bug]]) rilevati nel [[software]], direttamente in fase di [[programmazione (informatica)|programmazione]] oppure a seguito della fase di ''[[collaudo del software|testing]]'' o dell'utilizzo finale del [[programma (informatica)|programma]] stesso.
 
Line 8 ⟶ 9:
== Operazioni di base ==
Sebbene ogni sessione di debug sia unica e costituisca una storia a sé, alcuni principi generici sono applicabili a tutte le sessioni di debug. In particolare, per il debug di applicazioni software, in genere si possono riconoscere cinque fasi nel debug:
 
* identificazione del bug
* individuazione del componente in cui è presente il bug
Riga 17:
=== Rilevazione dell'errore ===
{{vedi anche|Bug (informatica)|Debugger}}
 
Mentre gli ''errori di sintassi'' sono tipicamente evidenziati dall'[[IntegratedAmbiente developmentdi sviluppo environmentintegrato|IDE]], alla fine della stesura del codice il programmatore opera una seconda fase di test valutando se l'output del programma è quello atteso compilando/interpretando ed eseguendo il codice. All'eventuale rilevazione dell{{'}}''errore di semantica'' e di ''runtime'' segue la fase di ''debugging'', ossia di individuazione della parte di [[software]], a volte molto complesso, nella quale si annida l'errore. Spesso tale operazione viene svolta dal programmatore di pari passo con la stesura del codice stesso, testando continuamente il codice ed evitando così l'accumulo degli errori.
 
Questa attività è supportata da programmi specifici ([[debugger]]) messi a disposizione dall'IDE grazie anche all'uso di [[breakpoint]] su linee di codice e dai messaggi di [[standard error]] emessi nei [[file]] di [[log]] (es. rilevamento [[eccezione (informatica)|eccezioni]] nelle console dell'IDE), che indicano e mostrano allo [[programmatore|sviluppatore]] l'esecuzione, [[istruzione (informatica)|istruzione]] per istruzione, del programma, permettendo nel contempo l'analisi dei dati trattati dal programma stesso. In assenza di tali strumenti per le attività di ''debugging'', si ricorre alla più semplice, ma anche meno efficace tecnica di stampare a [[monitor (video)|video]] o su [[file]] le istruzioni che il programma sta eseguendo, inserendo a tal scopo nel codice delle istruzioni di ''debug'' che evidenzino il punto di arrivo dell'esecuzione del programma fino all'errore. Sempre a questo scopo, il programmatore può, con l'ausilio dei [[Commento (informatica)|commenti]], far eseguire solo alcune parti del codice o al contrario non far eseguire particolari parti del codice, sospette di causare l'errore. Una volta individuato l'errore nel codice il programmatore corregge l'errore in maniera iterativa finché il programma non fa ciò che è desiderato.
Line 23 ⟶ 24:
Una terza fase di debug è quella che il programmatore deve risolvere quando il software prodotto è stato mandato in fase di ''testing'' o [[collaudo]] al rispettivo team ed è stato rimandato indietro con la lista dei difetti riscontrati; in genere in questi casi molto spesso sono presenti errori nella stesura o interpretazione delle specifiche rispetto a ciò che è realmente desiderato senza andare in errore.
 
Una quarta fase di debug può avvenire quando in fase di utilizzo del programma da parte dell'utente finale questi riscontra delle anomalie; in genere in questi casi si ingenera un errore con relativo messaggio che viene inviato tramite [[Internet]] alla casa produttrice del software che aggiornerà periodicamente con nuove [[release (informatica)|release]] senza errori o [[Aggiornamento (informatica)|aggiornamenti]] il prodotto (es. [[Windows|Microsoft Windows]]).
 
== Accorgimenti per accelerare il processo di debug ==
Line 62 ⟶ 63:
 
== Altri progetti ==
{{interprogetto|preposizione=sul}}
 
== Collegamenti esterni ==