There are numerous projects aimed at developing tools to debug or trace finte domain constraint programs. FDBG (Finite domain DeBuGger) addresses the same problem: it is a Prolog library which allows CLP(FD) programmers to trace the changes of FD variables by detecting the wake-up of constraints as well as the steps of labeling, and by reporting their effects on variables. When FDBG is used, it produces a wallpaper trace of the run of the constraint program. The trace is analyzed (typically "post-mortem" either manually or by a tool designed for this purpose. However, program behavior may also be observed in real time exploiting the modular design and the flexible output redirecting capabilities. In our paper, we give an overview of the concepts FDBG relies on and the main services it provides. We also discuss a few interesting technical issues of the implementation in detail. FDBG was written almost entirely in Prolog as user space code, no native routines were used directly. It is also included (with source) in the official SICStus distribution in versions 3.9 and up.