In various embodiments of the present invention, debugging and
program-behavior-analysis software can reconstruct register-based
processor states for nested routine calls from the backing-store memory
employed by a modern processor, and by processors of similar
architectures, to automatically spill and restore register values via a
register stack engine. Sufficient information resides in the
backing-store memory to reconstruct the stack frames for all nested
routines. However, reconstructing the stack frames from the backing-store
memory depends on identifying stored register vales in the backing-store
memory containing saved values of the previous-frame-marker application
register. Various embodiments of the present invention employ a set of
heuristic tests to evaluate stored values in the backing-store memory in
order to identify those values corresponding to the stored contents of
the previous-frame-marker application register.