github.com/google/syzkaller@v0.0.0-20251211124644-a066d2bc4b02/docs/translations/zh_CN/strace.md (about) 1 > [!WARNING] 2 > 3 > **请注意,这是社区驱动的官方 syzkaller 文档翻译。当前文档的最新版本(英文版)可在 [docs/strace.md](/docs/strace.md) 中找到。** 4 5 # Strace 6 7 Syzkaller 可以配置为在 [strace](https://strace.io/) 监控下执行程序并捕获输出。 8 9 若 `strace_bin` 被设置为 `strace` 二进制文件,syzkaller 将自动使用该 `strace` 二进制文件运行所有成功获取的重现用例。 10 * 若 syz-manager 已关联至某个“仪表盘”,当生成的重现用例仍能触发相同崩溃时,syzkaller 会将 strace 输出作为普通日志文件上传。 11 * 若未关联至“仪表盘”,strace 的输出将被保存至独立文件,并可通过 syz-manager 网页访问。 12 13 ## 如何编译 strace 二进制文件 14 15 为避免因模糊测试所用内核镜像中的 libc 版本不匹配导致问题,建议将 `strace` 编译为静态链接二进制文件。 16 17 ``` 18 git clone https://github.com/strace/strace.git 19 cd strace 20 ./bootstrap 21 ./configure --enable-mpers=no LDFLAGS='-static -pthread' 22 make -j`nproc` 23 ``` 24 25 编译生成的二进制文件位于 `src/strace` 路径下。 26 27 ## syz-crush 28 29 指导 `syz-crush` 在 strace 监控下运行附加复现程序是可能的。要做到这一点, 30 请确保 syz-manager 配置文件已指定 `strace_bin` 参数,并在命令行参数中额外添加 `-strace` 参数。 31 32 ## syz-repro 33 34 若在 `syz-repro` 的参数后追加 `-strace file-name.log`,该工具将在 strace 下运行生成的重现用例(若成功生成),并保存其输出。