March 12
Il debugging è il processo attraverso il quale bug o imperfezioni nel software sono trovati e mostrati ad uno sviluppatore. Questa informazione viene quindi utilizzato per rimuovere il bug. Ci sono diversi tipi di debug, che operano in diversi momenti del processo di sviluppo e lavorano in modi diversi.
Il tipo più comune di debug è il debug di stampa. Stampa debug viene attivato quando un programma viene eseguito. Poiché il programma è in esecuzione, un debugger stampa elencherà gli insetti come vengono durante l'esecuzione del programma. Questo può aiutare gli sviluppatori a identificare problemi di come viene eseguito il programma.
Il debug remoto è simile al debug di stampa, ma il programma viene eseguito su un computer diverso dal debugger. Per questo, il computer che è in esecuzione il programma e il computer che è il debug il computer devono essere collegati tramite una rete. Dopo questo, il programma viene eseguito, e il debugger raccoglie le informazioni su ciò che bug può contenere. Questo è utile per identificare come un'applicazione può funzionare su diverse piattaforme o computer.
debug post-mortem identifica i bug dopo che il programma è già andato in crash. Questo viene fatto mediante l'installazione di un file che registra lo stato dell'applicazione in quanto è andato in crash. Questa informazione può quindi essere utilizzato per identificare perché l'esecuzione può essere guasto.
Delta debug automatizza il processo di debug, e sistematicamente esplora attraverso un'applicazione per individuare i bug. Questi errori sono poi isolate dal resto del programma. Questo permette allo sviluppatore di vedere come il suo programma funzionerà quando questi bug problematici sono stati rimossi dal quadro della sua domanda.
Il "Squeeze Saff" è un processo creato da sviluppatore David Saff; in questa soluzione un problema è isolato eseguendo due processi. Il primo è un processo di alto livello, che viene utilizzato per identificare grandi problemi nell'applicazione. Poi unit test specifici vengono eseguiti per isolare il problema esatto o bug. Questo accelera il processo di debugging, pur individuando problemi esatte.