]> Witch of Git - ivy/commit
Add runtime trace debuggers
authorCassie Jones <code@witchoflight.com>
Mon, 2 Mar 2020 19:04:41 +0000 (20:04 +0100)
committerCassie Jones <code@witchoflight.com>
Mon, 2 Mar 2020 19:09:24 +0000 (20:09 +0100)
commitc718181cdac4196288d034d737a8ed545ddf2c20
treea94a9cfd9489a577d1267d8eab1994cfde8d38a8
parentf1a2d935d3d6d7d8f63bd2d049a26e5b7f860e4e
Add runtime trace debuggers

Since the runtime tracing prints out object addresses, it's possible to
track which objects are which and propagate that information through
applications. Since creating lambdas prints the function pointer
address, it's possible to resolve the symbols and print all of the
applications as symbolic.

The trace tool runs the output under lldb since lldb disables ASLR,
which makes resolving function addresses much more straightforward.

For an example, run:

    cargo run --release ivy-examples/fibonacci.vy
    python3 tools/trace.py --debug-only a.out

And it will print out the numbers instead of an opaque debug
representation.
.gitignore
tools/format_trace.py [new file with mode: 0644]
tools/trace.py [new file with mode: 0644]