Statement tracing in the languag the programmer is working in is usually the best kind of debugging aid. This paper describes a portable debugger (caled Ctrace) “that prints each statement before it executes [and] gives the programmer all the information necessary to find a bug with much less manual effort than that needed to add print statements or breakpoints.” Debugging information is inserted into the source program, before compilation, with a preprocessor.
The paper presents an overview of how the debugger is used and gives several examples of its output. Some clues about the inner workings are given, but the reader will not be able to build such a tool from this paper. Users, apparently, find the trace output “easy to follow.” Ctrace is machine independent, and is installed on nine different processors and over 200 computers running UNIX at Bell Laboratories.