Tarmac Trace Utilities
Arm Tarmac Trace Utilities is a suite of tools to read, analyze and browse traces of running programs in the 'Tarmac' textual format.
Utilities in this collection can:
- Generate reports based on the data in the index and trace file, such as per-function profiling, or showing the tree of function calls and returns observed during the trace.
- Repackage the trace data in a different format, such as an IEEE 1364 Value Change Dump file (
- Interactively browse the trace file in a way that understands its semantics, tracking the complete state of registers and memory as you page back and forth in the trace file, and allowing rapid navigation to places of interest, such as the previous location where a given data item was updated, or the return corresponding to a function call.
To build the analysis tools from source, you will need a C++ compiler compatible with C++14, and CMake.
To build the interactive browsing tools, you will also need a
curses library (for the terminal-based version) or GTK+ 3 (for the GUI version) or both.
These are all available on current Linux distributions, for example Ubuntu 16.04 (
xenial) and later, Debian 9 (
stretch), CentOS 8, or Fedora 31.
On Windows, the analysis tools have been built successfully with Visual Studio 2017, and the terminal-based interactive browser can be built using PDCurses.
To build the tools, run the following commands:
cmake . cmake --build .
(There are many other ways to invoke CMake, but this is the simplest.)
For detailed information on all the tools and how to use them, see the main documentation.
This package is distributed under the Apache v2.0 License.
Feedback, Contributions and Support
Please use the GitHub issue tracker associated with this repository for feedback.
We welcome code contributions via GitHub pull requests. Please try to stick to the style in the rest of the code for your contributions.