We present a verification approach based on auxiliary programs, which we call ghost debuggers.This approach leads to notable verification gains when the structure of the program does not match theexecution structure, notably when that latter structure is recursive. We present a theoretical foundationof our approach over a flavor of transfinite games, which let us specify and prove fine-grained propertiesabout infinite behaviors of programs. By making use of the game structure, we also show that our approachcan be applied to relational properties like simulation between programs. Our approach is backed by amechanized development in the Why3 tool, which formally proves sound the Hoare-style logic backboneof our approach.Nous présentons une no...