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

febug
User-space debugfs filesystem driver

febug [-h|--help] [-V|--version] [-d] [libfuse options] mountpoint

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, --help and -V, --version are self-explanatory.

-d enables debug output from both febug and libfuse.

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.

#
 launchctl
 start
 xyz.nabijaczleweli.febug

$
 mount
 |
 grep
 febug

febug@macfuse0 on /private/var/run/febug (macfuse, synchronous)
$
 ./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/1409/comparisons:71
/var/run/febug/1409/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/1410/cool_data:3012987654ACEFOLJKODNIEMIGHBPPbdWwnfTpXQcreRlVvUSitZQWjRTYUazuqwertyuiopoxyhmYsgkq
$
 kill
 %1

$
 ls
 /var/run/febug/

1410

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

libfebug(3), libfebug++(3), libfebug.rs(3) — libraries wrapping said ABI.

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

June 12, 2023 Darwin 19.6.0