strace命令 - 跟踪系统调用信息

ID:15661 / 打印

strace命令来自英文单词“跟踪”,其功能是用于跟踪系统调用信息。strace命令是一个集诊断、调试、统计于一体的工具,可以对系统调用和信号传递的跟踪结果进行分析,从而解决问题。

Linux系统中进程不能直接访问硬件设备,当进程需要读取磁盘文件或接收网络数据时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。而strace命令则可以跟踪到一个进程产生的系统调用数据——包括参数,返回值,执行消耗时间等信息。

语法格式:strace [参数] [对象]

常用参数:

-a设置返回值的输出位置
-c显示执行时间、报错次数等信息
-d 使用调试模式
-e指定一个表达式
-f跟踪由fork调用所产生的子进程
-F跟踪vfork调用
-h显示帮助信息
-o将输出结果写入到文件
-p设置进程号码
-q不显示离线消息
-r显示系统调用的相对时间
-t每一行前加上时间信息(秒)
-tt每一行前加上时间信息(微秒级)
-T显示每次调用所花费时间信息
-u显示指定用户或用户组的信息
-v显示所有的系统调用信息
-V显示版本信息
-x使用十六进制输出非标准字符串
-xx使用十六进制输出所有字符串

参考示例

根据指定进程的系统调用:

[root@linuxcool ~]# strace -p 5188

根据指定进程的所有系统调用,并统计所花费时间(微秒级):

[root@linuxcool ~]# strace -T -tt -e trace=all -p 5188
上一篇: vmstat命令 - 监视系统资源状态
下一篇: ntsysv命令 - 设置系统服务

作者:admin @ 24资源网   2024-10-23

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。