cargo-call-stack - crates.io: Rust Package Registry
Features
The tool produces the full call graph of a program as a dot file.
A start point can be specified to analyze only the call graph that begins at that function.
Each node (function) in the call graph includes the local stack usage of the function, if available (see -Z emit-stack-sizes).
The maximum stack usage of each function is also computed, or at least a lower bound is provided. Maximum stack usage of a function here refers to the stack usage that includes the stack used by functions that the function may invoke.
The tool has imperfect support for calls through function pointers (fn()) and dynamic dispatch (dyn Trait). You will get a call graph from programs that do indirect calls but it will likely be missing edges or contain incorrect edges. It's best to use this tool on programs that only do direct function calls.
Features
The tool produces the full call graph of a program as a dot file.
A start point can be specified to analyze only the call graph
that begins at that function.
Each node (function) in the call graph includes the local stack usage of the
function, if available (see -Z emit-stack-sizes).
The maximum stack usage of each function is also computed, or at least a
lower bound is provided. Maximum stack usage of a function here refers to the
stack usage that includes the stack used by functions that the function may
invoke.
The tool has imperfect support for calls through function pointers (fn())
and dynamic dispatch (dyn Trait). You will get a call graph from programs
that do indirect calls but it will likely be missing edges or contain
incorrect edges. It's best to use this tool on programs that only do direct
function calls.