Like me, have you had, on occasion, to scatter your code with debugging code trying to find an obscure bug and then found it difficult to identify all that additional code and clear it out. This library tries to avoid that by providing the ability to insert readily identifiable debug statements in the code and centralise the debugging code in a single event Sub that may just be deleted when the problem is solved. In addition these debug statments are conditional so that debugging code is only invoked when a problem is likely to exist. This makes debugging long loops much easier. As the help file says, this library doesn't do more than you could do in B4PPC code. However as it is isolated in a library it does it much more neatly! Let me know if you have any suggestions for improvement. EDIT: Version 1.1 posted. See post below. EDIT: Version 1.2 posted with the awesome new Watcher object. See post #6. This now needs .NET 2.0 so I have left version 1.1 which only needs .NET 1.0/1.1 EDIT: Version 1.3 posted with a greatly enhanced Watcher that can examine and change properties and invoke methods. See post#7. EDIT: Version 1.4 posted with Watcher polished a bit and a new Tracer object. See post #10. EDIT: Version 1.5 posted with support for module name prefixes and the awesome new Caller object. . See post #11.