9.11 strace:跟踪进程的系统调用 、ltrace:跟踪进程调用库函数

 strace

  是Linux环境下的一款程序调试工具,用于检查一个应用程序所使用的系统调用以及它所接收的系统信息。strace会追踪程序运行时的整个生命周期,输出每一个系统调用的名字、参数、返回值和执行所消耗的时间等,是高级运维和开发人员排查问题的杀手铜。 

strace命令的参数选项及说明

 
-c    统计每一个系统调用所执行的时间、次数和出错的次数等
-d    输出strace关于标准错误的调试信息
-f    跟踪目标进程,以及目标进程创建的所有子进程
-ff   如果提供-o filename,则将所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号
-i    输出系统调用的入口指针
-q    禁止输出关于脱离的消息
-r    输出每一个系统调用的相对时间
-t    在输出中的每一行前加上时间信息。例如16:4528
-tt   在输出中的每一行前加上时间信息,精确到微秒。例如11:1859.759546端
-ttt  在输出中的每一行前加上时间信息,精确到微秒,而且时间表示为UNIX时间戳。例如1486111461.650434
-T    显示每次系统调用所花费的时间
-v    对于某些相关调用,把完整的环境变量、文件stat结构等打印出来
-x    以十六进制形式输出非标准字符率
-xx   所有字符串以十六进制形式输出
 
-e expr 输出过滤器,通过表达式,可以过滤掉你不想要的输出
        expr是一个表达式,用于控制如何跟踪:[qualifier=][!][valuel[,value2]..
        说明:
        ①qualifier 只能是trace、abbrev、verbose、raw、signal、read、write其中之一
        ②value是用来限定的符号或数字
        ③默认的qualifier是trace
        ④感叹号是否定符号
        例如:
        -e open等价于-e trace=open,表示只跟踪open调用
        而-e trace!=open表示跟踪除了open以外的其他调用
        常见选项:
        -e trace=[set]    只跟踪指定的系统调用
        -e trace=file     只跟踪与文件操作有关的系统调用
        -e trace=process  只跟踪与进程控制有关的系统调用
        -e trace-network  只跟踪与网络有关的系统调用
        -e trace=signal   只跟踪与系统信号有关的系统调用
        -e trace=desc     只跟踪与文件描述符有关的系统调用
        -e trace=ipc      只跟踪与进程通信有关的系统调用
        -e abbrev=[set]   设定strace输出的系统调用的结果集
        -e raw=[set]      将指定的系统调用的参数以十六进制显示
        -e signal=[set]   指定跟踪的系统信号
        -e read=[set]     输出从指定文件中读出的数据
        -e write=[set]    输出写入到指定文件中的数据
 
-o filename    将strace的输出写入文件filename
-p pid         指定要跟踪的进程pid,要同时跟踪多个pid,重复多次p选项即可*
-s strsize     指定输出的字符串的最大长度,默认为32。并没有将文件名视为字符串,默认全部输出
-u username    以usemame的UID和GID执行所跟踪的命令

 

 

排查Nginx403 forbidden错误

strace -tt -f /applicatton/nginx/sbin/nginx
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值