如何在 Linux 中使用 Strace 命令 ?

Strace 简介
Strace 是一个功能强大的命令行工具,可用于跟踪 Linux 中的系统调用和信号。Strace 通常与其他 Linux 工具结合使用,例如 ltrace、gdb、和 tcpdump 等。
安装 Strace
使用如下命令安装
sudo apt-get install strace
基本用法
要使用 strace,只需在要跟踪的命令前面加上strace 命令。例如,要跟踪 ls 命令,使用如下命令:
strace ls
该命令将显示 ls 命令发出的所有系统调用。您还可以使用 -p 选项来跟踪正在运行的进程。例如,要跟踪 PID 1234 的进程,使用以下命令:
strace -p 1234
过滤系统调用
默认情况下,Strace 将显示进程进行的所有系统调用。但是,您可以通过使用 -e 选项,后跟以逗号分隔的系统调用列表来过滤输出。例如,如果要只显示 ls 命令所进行的 open 和 read 系统调用,则使用如下命令:
strace -e open,read ls
显示信号信息
Strace 还可以显示进程接收到的信号信息。请使用 -e 选项,后面跟着信号名称或号码。例如,要显示 ls 命令接收到的 SIGINT 信号的信息,使用如下命令:
strace -e signal=SIGINT ls
显示时间戳
可以使用 -t 选项显示每个系统调用的时间戳。例如,要显示由 ls 命令发出的所有系统调用的时间戳,请使用以下命令:
strace -t ls
重定向输出
缺省情况下,Strace 输出到终端。但是,可以通过使用 -o 选项后跟文件名,将输出重定向到文件。例如,要将输出重定向到一个名为 output.txt 的文件,使用以下命令:
strace -o output.txt ls
监控系统调用
Strace 还可以监视系统发出的所有系统调用。例如,监视系统发出的所有系统调用,将输出保存到一个名为 output.txt 的文件中,使用以下命令:
strace -e all -o output.txt
我的开源项目
评论已关闭
