Tracing is the process of collecting information about the execution of a program. It is usually used for debugging purposes. It is conceptually pretty similar to logging.

Non-testable

None of this is part of the CPSC 213 curriculum, I just thought it was interesting.

Uses

Tracing has many uses, but one of the most useful is for garbage collection. It does so by keeping track of which objects are reachable by a chain of references from certain “root” objects, and collects the rests and cleans them up.