A program trace is a list of messages issued from appropriate points within a program. An example would be a message announcing that a function has been called or a message that the function is exiting. This list can tell you where the computer is spending all of its processing time in the program. A program trace is useful if all you need to know is one or two details such as whether a function is called or a whether a variable has been set. Because it is tedious to insert and remove the trace messages, and because all updates to the trace message require recompilation, trace messages are not useful for heavy-duty debugging.