Memory management routines for a program are instrumented to check if the
address of an object they are handling is equal to the value of a
predetermined pointer. If the address of the object equals the value of
the global pointer, then a debugging routine is called. In a debugger, a
breakpoint is placed on the debugging routine, and the program is run
until the breakpoint is tripped. At this or one of the later breakpoints,
the corrupted memory address is repeatedly inspected until the operation
that caused the corruption is executed.
Des routines de gestion de mémoire pour un programme sont équipées pour vérifier si l'adresse d'un objet qu'elles manipulent est égale à la valeur d'un indicateur prédéterminé. Si l'adresse de l'objet égale la valeur de l'indicateur global, alors une routine de correction s'appelle. Dans un programme de mise au point, un palier est placé sur la routine de correction, et le programme est exécuté jusqu'à ce que le palier soit déclenché. À ceci ou à un des paliers postérieurs, l'adresse de mémoire corrompue est à plusieurs reprises inspectée jusqu'à ce que l'opération qui a causé la corruption soit exécutée.