En nysgjerrig og nyttig funksjon i GDB er prosessopptak, slik at en analytiker kan gå fremover og bakover gjennom kjøring, og skrive en kontinuerlig logg over endringene i programtilstand som tillater bemerkelsesverdig nøyaktig avspilling av programmet kode.
Selv om vi alle trygt kan si at prosessregistreringsloggen inneholder kjørbare endringer i de forskjellige data- og kontrollregistrene, er funksjonaliteten mye mer enn å holde en seriell fremstilling av den nåværende fortsettelsen. For eksempel har jeg vært i stand til å bekrefte tilstanden til en kjørbar som bruker tråder for å endre delt minne.
Vi kan absolutt ikke forvente at tidsavhengig kode skal fungere, men hvis trådkode som endrer delt tilstand kan generelt sett bli trukket bakover og fortsatt arbeide pålitelig igjen , hvilke begrensninger har prosessopptak utover de rent arkitektoniske utfordringene (dvs. forskjøvet trinn) spesifisert i dokumentasjonen?