FEBUG(8) System Manager's Manual FEBUG(8)

febugUser-space debugfs filesystem driver

febug [-hV] [] mountpoint

febug mounts a filesystem at mountpoint that allows programs to register themselves and expose variables to be (relatively) non-intrusively inspected at run-time, inspired by Linux's debugfs filesystem.

See febug-abi(8) for implementation details. And the EXAMPLES section for an example debug session.

-h or --help and -V or --version are self-explanatory.

febug passes all arguments (which have to, therefore, include mountpoint) to fuse_main(3), with -f (foreground) and -o default_permissions appended. If run with effective UID of 0, it also appends -o allow_other.

the socket at which to listen for programs, or /var/run/febug.sock by default.

# rcctl start febug
$ mount | grep febug
fusefs on /var/run/febug type fuse (local)
$ ./out/examples/vector-sort &
[1] 1409
$ LD_LIBRARY_PATH=out ./out/examples/string-qsort &
[2] 1410
$ ls /var/run/febug/
1409 1410
$ ls -l /var/run/febug/
dr-xr-x--- 4 nabijaczleweli users 0 Jan 15 19:52 1409
dr-xr-x--- 3 nabijaczleweli users 0 Jan 15 19:52 1410
$ ls /var/run/febug/1409/
comparisons cool_data
$ cat /var/run/febug/1409/*
24
-3 -2 -3 -2 -3 -2 3 -1 -2 -3 0 1 2 3 -1 -2 -3 0 1 2 3 -1 -2 -3 0 1 2 3 -1 2 1 0 1 2 3 -1 0 -1 0 1 2 3
$ cat /var/run/febug/1409/*
45
-3 -2 -3 -2 -3 -2 -3 -2 -2 -3 -3 -2 -1 3 -1 1 0 0 1 2 3 2 -1 3 0 1 2 3 -1 2 1 0 1 2 3 -1 0 -1 0 1 2 3
$ grep . /var/run/febug/*/*
/var/run/febug/1450/comparisons:71
/var/run/febug/1450/cool_data:-3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 3 -1 1 0 0 1 2 3 2 -1 3 0 1 2 3 -1 2 1 0 1 2 3 -1 0 -1 0 1 2 3
/var/run/febug/1451/cool_data:3012987654ACEFOLJKODNIEMIGHBPPbdWwnfTpXQcreRlVvUSitZQWjRTYUazuqwertyuiopoxyhmYsgkq
$ kill %1
$ ls /var/run/febug/
1410

febug-abi(5) — the ABI used to connect with this filesystem.

libfebug(3) — a library wrapping this ABI.

libfebug++(3) — a C++ library wrapping this ABI.

Written by наб <nabijaczleweli@nabijaczleweli.xyz>

To all who support further development, in particular:

febug tracker

febug mailing list: <~nabijaczleweli/febug@lists.sr.ht> archived at https://lists.sr.ht/~nabijaczleweli/febug

FEBUG OpenBSD 6.8