Un approccio semplice potrebbe essere:
- Scopri come bloccarlo ogni volta.
- Allega un debugger
- Interruzione al punto di ingresso del programma
- Continua fino a quando il programma richiede l'inserimento
- Fornisci input che causerebbero il crash del programma
- Passa sopra ogni chiamata (non dovrebbe essercene troppi), non entrare. Una chiamata lo danneggerà. Metti un punto di interruzione su di esso ed esegui di nuovo, ma questa volta intervieni. Passa nuovamente ogni chiamata, fino a quando non si blocca, quindi sposta il punto di interruzione un livello più in profondità, ecc.
Non dovrebbe impiegare troppo tempo per raggiungere il fondo.
Anche alcuni debugger possono rompersi prima o dopo il programma. Se riesci a farlo, puoi farlo viceversa, iniziare dal punto in cui si trova il crash e risalire per trovare una ragione.