A 'call graph' is a debugging aid which provides a representation of how one particular function calls other functions. One would use a call graph when trying to figure out what calls a particular function, or is called by a function, particularly when trying to track down why the code is failing.
[insert example here]
proc a {} {b; c}
proc b {} {d; c}
proc c {} {puts ok}
proc d {} {puts hello}
The call graph here is (directed, caller above callee)
a
/ \
b |
/ \|
d c
[insert pointers to tools for producing call graphs.]
Distinguish
static call graph (derived by observing the source code) and
dynamic call graph (derived by observing the calling "behavior" of a program).