MCPcopy Index your code
hub / github.com/Rodrigodd/strace-tui

github.com/Rodrigodd/strace-tui @v1.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.1 ↗ · + Follow
166 symbols 362 edges 17 files 41 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

strace-tui

A terminal user interface (TUI) for visualizing and exploring strace output.

https://github.com/user-attachments/assets/a190090e-1e30-4692-9a20-5b2315cb7634

Overview

Supported features:

  • Parses common strace output and flags (-tt -k -f -s 1024) (also provides JSON output of parsed traces).
  • Color-code syscall by type and error status.
  • Allow dynamically filtering and search syscalls.
  • Resolve strace stack-trace output (strace -k) to function names and source lines using addr2line.
  • Visualize multithreaded and multiprocess traces with a graph for forks and clones.
  • Search text in syscall arguments and results.

Missing features:

  • Filter traces by process or thread ID.
  • Copy syscall details to clipboard (specially because the TUI truncates a lot of info).
  • Export filtered traces to file.
  • Better handle gigantic Rust/C++ symbols (currently truncates middle of the symbol)

Installation

At the moment, the easiest way to install is via Cargo:

cargo install strace-tui

Can also be installed from source:

git clone https://github.com/Rodrigodd/strace-tui.git
cd strace-tui
cargo install --path .

Usage

Parse an existing strace file (TUI)

strace -o trace.txt -tt -k -f -s 1024 ls -la
strace-tui parse trace.txt

Run strace and visualize

strace-tui trace ls -la

License

Licensed under either of

  • Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Core symbols most depended-on inside this repo

rebuild_display_lines
called by 23
src/tui/app.rs
parse_strace_line
called by 17
src/parser/line_parser.rs
entry_idx
called by 13
src/tui/app.rs
parse_file
called by 8
src/parser/mod.rs
adjust_scroll_after_expansion
called by 6
src/tui/app.rs
parse_backtrace_line
called by 6
src/parser/backtrace_parser.rs
scroll_page
called by 4
src/tui/app.rs
split_arguments
called by 4
src/tui/app.rs

Shape

Function 86
Method 59
Class 17
Enum 4

Languages

Rust100%

Modules by API surface

src/tui/app.rs46 symbols
src/parser/line_parser.rs30 symbols
src/tui/ui.rs17 symbols
src/parser/types.rs10 symbols
src/parser/backtrace_parser.rs10 symbols
src/tui/process_graph.rs9 symbols
src/parser/resolver.rs9 symbols
tests/integration_test.rs8 symbols
src/main.rs8 symbols
src/parser/mod.rs6 symbols
examples/syscall_test.rs5 symbols
src/tui/mod.rs4 symbols

For agents

$ claude mcp add strace-tui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact