23 个版本

0.5.2 2019年7月21日
0.5.0 2019年2月28日
0.4.0 2018年3月11日
0.3.16 2017年8月11日
0.3.15 2017年7月17日

#250 in 操作系统


用于 fac

GPL-2.0+

220KB
4.5K SLoC

Rust 2K SLoC // 0.1% comments C 1.5K SLoC // 0.2% comments Python 780 SLoC // 0.2% comments Shell 99 SLoC // 0.2% comments

Windows Build Status CircleCI

Coverage Status codecov CII Best Practices

libbigbro

libbigbro 是一个库,提供了两个函数,允许你在 POSIX 系统上运行命令(即 forkexec),并跟踪它读取或修改的文件。这两个函数 bigbrobigbro_with_mkdir 声明在 bigbro.h 中,其中以注释形式记录了其行为。

bigbro

bigbro 是一个简单的演示工具,它使用 libbigbro 来运行命令行上指定的更改。它没有命令行标志,与 strace 一样容易使用。

$ ./bigbro mail
No mail for droundy
r: /usr/lib/x86_64-linux-gnu/liblockfile.so.1.0
r: /usr/lib/x86_64-linux-gnu/liblockfile.so.1
r: /usr/bin/bsd-mailx
r: /usr/bin/mail
r: /lib/x86_64-linux-gnu/libc.so.6
r: /lib/x86_64-linux-gnu/libbsd.so.0.7.0
r: /lib/x86_64-linux-gnu/libc-2.19.so
r: /lib/x86_64-linux-gnu/libbsd.so.0
r: /etc/mail.rc
r: /etc/ld.so.cache
r: /etc/alternatives/mail

bigbro 的主要目的是为了方便测试 libbigbro

构建

要构建 bigbro,只需运行

sh build/linux.sh

如果你已经安装了 fac,你可以使用 fac 代替构建 bigbro。在这种情况下,你还可以同时构建 bigbro 并运行测试套件,通过运行

python3 run-tests.py

依赖关系