Trace: Add a new StackDbg module
authorIliyan Malchev <malchev@google.com>
Thu, 29 Sep 2011 22:28:59 +0000 (17:28 -0500)
committerIliyan Malchev <malchev@google.com>
Mon, 3 Oct 2011 15:42:57 +0000 (08:42 -0700)
commitc934b0eae38866acfd728f2ee3198b6a63f4bdd3
tree75f915c2cbe2716bed2ea2079a4135f5e3d1b9d3
parentb64cbe7610c078592ac8effaa074ce8c64a15b83
Trace: Add a new StackDbg module

A new module StackDbg provides API to unwind the stack natively, without
the aid of symbolic debugging information and without the usage of a frame
pointer.  The algorithm used is heuristic, and so the stack trace may be
partial or incorrect.  For the most past, though, the algorithm produces an
accurate trace, and when it does not, it is obvious that the stack trace is
wrong.

The stack-walking function takes as an argument a visit function, which is
called for every potential stack entry.  The visit function may choose to print
out that entry, or to add it to a stack-trace buffer for later printing, or to
ignore it.  The visit function also tells the stack-trace function for each
entry, whether the stack-walking should continue or stop.  This way a caller of
the stack-walking function may unwind the stack only as much as it necessary.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Shahid Akhtar <sakhtar@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
src/.gitignore
src/ti/trace/StackDbg.c [new file with mode: 0644]
src/ti/trace/StackDbg.xdc [new file with mode: 0644]
src/ti/trace/StackDbg.xs [new file with mode: 0644]
src/ti/trace/package.bld
src/ti/trace/package.xdc