La soluzione tipica con basi di codice grandi e poco familiari è quella di "dividere" la massa di codice in due, più volte (suddivisione binaria). Inserisco la parola tra virgolette perché non è sempre facile capire come dividere il codice.
Per prima cosa devi essere in grado di identificare il problema nel debugger o tramite l'output di traccia - non tramite un'interfaccia utente. Quindi identificare almeno parte del codice eseguito al più alto livello. Quindi inserisci un breakpoint approssimativamente in quello che consideri "a metà strada" attraverso la massa di codice eseguita. A quel punto di interruzione, si controlla la condizione per vedere se si è verificato l'errore. In caso contrario, si tenta di trovare un punto nel codice a metà strada prima, inserire un punto di interruzione e così via.
Se si è verificata la condizione che rappresenta il bug, prova a trovare un punto a metà del resto del codice e così via.
Se si dispone di una registrazione estesa e di un punto nel codice in cui viene emessa gran parte della registrazione, è possibile inserire un punto di interruzione in quella posizione, idealmente un punto di interruzione condizionale: non si interromperà a meno che non si verifichi la condizione di errore. Questa è una tecnica molto più veloce mentre ti stringi più velocemente.