rr-debugger / rr-debugger/rr

Trace file formats

Open
#3,339 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.7k
Forks
662
Avg merge
2d 3h
Merged PRs (30d)
2

Description

Are there any docs on the file format and purpose of each file? I have already read the technical pdf.

$ tree ~/.local/share/rr

├── cpu_lock
├── postgres-1
│   ├── data
│   ├── events
│   ├── mmap_hardlink_3_postgres
│   ├── mmaps
│   ├── tasks
│   └── version

rr dump gives me

{
  real_time:116021.545297 global_time:3, event:`SYSCALL: write' (state:ENTERING_SYSCALL) tid:19309, ticks:12
rax:0xffffffffffffffda rbx:0x55a9550347d0 rcx:0xffffffffffffffff rdx:0x4 rsi:0x7ffced30d500 rdi:0xffffffff rbp:0xa rsp:0x7ffced30d498 r8:0x7f91dcf4b280 r9:0x7ffced30d570 r10:0x0 r11:0x246 r12:0x55a955036fc0 r13:0x3e9 r14:0x55a955039ca0 r15:0x55a955038220 rip:0x7f91dce50a3d eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x1 fs_base:0x7f91dcd2d740 gs_base:0x0
}
{
  real_time:116021.545327 global_time:4, event:`SYSCALL: write' (state:EXITING_SYSCALL) tid:19309, ticks:12
rax:0xfffffffffffffff7 rbx:0x55a9550347d0 rcx:0xffffffffffffffff rdx:0x4 rsi:0x7ffced30d500 rdi:0xffffffff rbp:0xa rsp:0x7ffced30d498 r8:0x7f91dcf4b280 r9:0x7ffced30d570 r10:0x0 r11:0x246 r12:0x55a955036fc0 r13:0x3e9 r14:0x55a955039ca0 r15:0x55a955038220 rip:0x7f91dce50a3d eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x1 fs_base:0x7f91dcd2d740 gs_base:0x0
}

I am most interested in how to access/view the memory changes from syscalls.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ~/.local/share/rr tree and the rr dump output shown in the issue, then locate authoritative descriptions of the trace files and syscall recording data in the existing documentation. Done means documenting the purpose and format of each listed file and explaining how to access or view memory changes from syscalls.

Written by the indexing model from the issue text.

Assessment

Domain
devtools, documentation, operating-systems
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.