Molte applicazioni si bloccano - tutte, ma molte - implicano che la macchina esegua qualcosa che non dovrebbe avere. La macchina salta in qualcosa che pensa si presume essere codice, ma in realtà è data da zero o dati casuali (o almeno dati che non sono stati preparati come codice). La macchina prova a guardare questi dati come codice, ma non ha senso come codice, quindi la macchina non sa cosa fare. Quando ciò accade, l'applicazione si arresta in modo anomalo.
Ma il problema dei bug è che se sai come attivarli, puoi attivarli deliberatamente. A volte, a seconda di come funziona il bug, puoi persino controllare in quale dato salta la macchina. Questa possibilità è ciò che rende nervosi gli addetti alla sicurezza: se riesci a far saltare la macchina in dati che non hanno senso, e puoi controllare quali sono i dati, allora potresti far saltare la macchina in qualcosa che ha ha senso. Una volta configurato, puoi fare in modo che la macchina esegua più o meno quello che vuoi .
Non tutti gli arresti anomali delle applicazioni funzionano in questo modo. @ La risposta di AliAhmad mostra le basi su come dire cosa può e cosa no. Ma poiché le conseguenze di un crash non sicuro possono essere così gravi, è necessario controllare ogni crash per vedere se è "sicuro" o meno.