# Strace Syzkaller can be instructed to execute programs under [strace](https://strace.io/) and capture the output. If the `strace_bin` is set to an `strace` binary, syzkaller will automatically run each reproducer it managed to find under the `strace` binary. * If a syz-manager is attached to a `dashboard`, syzkaller will upload the resulting output as a normal log file if the generated reproducer still managed to produce the same crash. * Otherwise, the output of strace will be saved to a separate file and will be accessible through the syz-manager's web interface. ## How to compile the strace binary It is safer to compile `strace` as a statically linked binary in order to prevent problems with mismatching libc versions on the kernel image used for fuzzing. ``` git clone https://github.com/strace/strace.git cd strace ./bootstrap ./configure --enable-mpers=no LDFLAGS='-static -pthread' make -j`nproc` ``` The resulting binary can be found at `src/strace`. ## syz-crush It's possible to instruct `syz-crush` to run the attached repro under strace. In order to do so, make sure `strace_bin` is specified in the syz-manager config file and pass an extra `-strace` argument to the command arguments. ## syz-repro If `-strace file-name.log` is appended to the `syz-repro`'s arguments, the tool will run the resulting repro (if it managed to generate one) under strace and save its output.