Стек на каждый syscall strace
Печатает стек на каждый openat, чтобы найти кто открывает файл; нужны debug-символы
strace -k -e trace=openat -f -p <pid>
more strace
all 13 commands →
Инъекция ошибок syscall
strace -f -e inject=openat:error=ENOENT:when=3 -p <pid>
Трассировка доставленных сигналов
strace -f -e signal=all -e trace=none -p <pid>
Трассировать новый процесс
strace -o trace.log ls /tmp
Подключиться к процессу
strace -p $(pgrep nginx | head -1) -o /tmp/nginx.trace
Трассировать только конкретные syscall
strace -e trace=openat,read,write curl https://example.com