加载中...

strace 是 Linux 上的系统调用跟踪工具,可以实时显示目标进程执行的每个系统调用及其参数、返回值和耗时,无需源码或重新编译即可观察程序与内核的交互。
strace 基于内核提供的 ptrace 机制:跟踪器在被跟踪进程每次进入和退出系统调用时获得控制权,读取其寄存器与内存以解码调用参数。这种方式信息完整,但会显著拖慢目标进程,不宜长时间用于生产高负载服务。
典型用法包括:strace -f -p PID 附加到运行中进程并跟踪子进程;strace -e trace=open,openat cmd 只看文件打开,快速定位「读了哪个配置文件」;strace -c 统计各系统调用次数与耗时,辅助性能分析。常用于排查程序卡死、权限拒绝、找不到文件等问题。
ltrace 跟踪动态库函数调用;perf 与基于 eBPF 的 bpftrace 开销更低,适合生产环境的持续观测。

登录 后参与讨论
暂无讨论,来发表第一条评论吧