sudo apt-get install make gcc libncurses-dev gdb python3
Build and install
make
sudo make install
Usage
The program can be run as follows in the same directory as a .termfu configuration file.
Breakpoint and watchpoint data will be stored in .termfu_data.
termfu
Flags
-h prints usage instructions.
-c sets the configuration file path.
-p sets the data persistence file path.
termfu -c .termfu_01 -p .termfu_01_data
Basics
Switch between layouts with your (l)ayouts key.
Scroll window data by selecting the window via its key binding and then using the arrow, page up, etc. keys. One can also use the hjkl keys.
Configuration
Example .termfu configuration
[ command ]
gdb --interpreter=mi test_programs/hello
[ plugins ]
# header commands
AtP : A : (A)ttach
Con : c : (c)ontinue
Fin : f : (f)inish
Kil : k : (k)ill
Lay : l : (l)ayouts
Nxt : n : (n)ext
Prm : m : pro(m)pt
Qut : q : (q)uit
Run : r : (r)un
Stp : s : (s)tep
Unt : u : (u)ntil
# windows
Asm : a : (a)ssembly
Brk : b : (b)reakpoints
Dbg : d : (d)ebug out
LcV : v : local (v)ars
Prg : p : (p)rogram out
Reg : g : re(g)isters
Src : o : s(o)urce file
Stk : t : s(t)ack
Wat : w : (w)atch
[ layout : Main ]
>h
mlq
rnscufk
>w
bbbooooo
wwwooooo
vvvooooo
ttpppddd
[ layout : Assembly / Registers ]
>h
mlq
rnscufk
>w
oag
oag
oag
wdt
Resulting layouts
Command
[ command ]
gdb --interpreter=mi misc/vars
Debugger
Command
GDB
gdb --interpreter=mi a.out
PDB
python -m pdb app.py
Plugins
[ plugins ]
# <plugin code> : <key binding> : <title>
AtP : A : (A)ttach
Con : c : (c)ontinue
Each three-character, case-sensitive plugin code corresponds to a specific header command or window.
Add parentheses around a key binding in its (t)itle for easy reference. This character will have a different color than the surrounding characters.