跟踪程序没有启动选项(strace命令 – 跟踪系统调用信息)
导读:strace命令来自英文单词“跟踪”,其功能是用于跟踪系统调用信息。strace命令是一个集诊断、调试、统计于一体的工具,可以对系统调用和信号传递的跟踪结果进行分析,从而解决问题。...
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
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!