Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Features

heretek provides a full-featured TUI dashboard for GDB. The interface is organized into tabs, each accessible via function keys:

KeyTabDescription
F1Main ViewCombined view: Registers, Stack, Instructions, Source
F2RegistersFull-screen register display with dereference chains
F3StackFull-screen stack view
F4InstructionsFull-screen disassembly
F5OutputScrollable GDB output log
F6MappingMemory mapping table with hexdump integration
F7HexdumpColor-coded memory hexdump with register annotations
F8SymbolsSymbol browser with fuzzy search and disassembly
F9SourceSyntax-highlighted source code view

Press Tab to cycle through views in order:

tab cycling

Color Coding

All values across every view are color coded by memory region:

  • Green — Heap memory
  • Purple — Stack memory
  • Red — Code/text segment
  • Yellow — ASCII strings
  • Orange — Assembly instructions

See Color Coding for full details.

Pointer Dereference Chains

A key feature across Registers and Stack views is automatic pointer dereference. heretek follows pointer chains and displays them inline:

rax  0x7fffffffe000 → 0x00400580 → main+0 (push rbp)
rdi  0x7fffffffe1a8 → 0x7fffffffe3b0 → "/home/user/a.out"
  • Numeric values are color-coded by which memory region they point to
  • Function pointers show the symbol name and instruction
  • C-strings are detected and displayed in yellow
  • Circular pointer chains are detected and shown as → [loop detected]

Automatic Data Collection

Every time the program stops (breakpoint, step, signal), heretek automatically collects:

  • Register names and values
  • Changed registers (highlighted in red)
  • Stack contents (14 entries from $sp)
  • Disassembly around $pc
  • Memory mappings
  • Backtrace frames
  • Source file and line number
  • Pointer dereference chains for all registers