使用linux的strace命令跟踪系统调用
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,小编给大家分享一下使用linux的strace命令跟踪系统调用,相信大部分人都还不怎么了解,因此分享这边文章给大家学习,希望大家阅读完这篇文章后大所收获,下面让我们一起去学习方法吧!strace命令是
千家信息网最后更新 2025年12月01日使用linux的strace命令跟踪系统调用
小编给大家分享一下使用linux的strace命令跟踪系统调用,相信大部分人都还不怎么了解,因此分享这边文章给大家学习,希望大家阅读完这篇文章后大所收获,下面让我们一起去学习方法吧!
strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。
语法格式:strace [参数]
常用参数:
| -c | 统计每一系统调用的所执行的时间,次数和出错的次数等 |
| -d | 输出strace关于标准错误的调试信息 |
| -f | 跟踪由fork调用所产生的子进程 |
| -F | 尝试跟踪vfork调用.在-f时,vfork不被跟踪 |
| -a | 设置返回值的输出位置.默认 为40 |
| -r | 打印出相对时间关于每一个系统调用 |
| -t | 在输出中的每一行前加上时间信息 |
参考实例
通用的完整用法,跟踪28979进程的所有系统调用(-e trace=all),并统计系统调用的花费时间,以及开始时间(并以可视化的时分秒格式显示),最后将记录结果存在output.txt文件里面:
[root@linuxcool ~]# strace -o output.txt -T -tt -e trace=all -p 28979
同时跟踪fork和vfork出来的进程,把所有strace输出写到~/dcop-strace.txt里面, 启动调试dcopserver:
[root@linuxcool ~]# strace -f -F -o ~/dcop-strace.txt dcopserver
设置返回值的输出位置.默认为40:
[root@linuxcool ~]# strace -a column
跟踪 whoami时的输出:
[root@linuxcool ~]# strace -o whoami-strace.txt whoami
限制strace只跟踪特定的系统调用:
[root@linuxcool ~]# strace -f -o configure-strace.txt -e execve ./configure
以上是使用linux的strace命令跟踪系统调用的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
跟踪
系统
进程
时间
输出
命令
参数
硬件
设备
学习
应用
统计
位置
信号
信息
内容
文件
格式
模式
次数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海软件开发专业的专科
中国4g网络技术占比
嵌入式dsp软件开发流程
生成个人工资数据库
网页服务器数据保存多长时间
EPKS服务器数据库
怎么重启linux服务器
厦门小型软件开发公司排名
内蒙古通讯软件开发创意
北京服务器集群云空间
网易云游戏无法连接到服务器
sql mdb数据库
西电网络安全进华为
网络安全运维台账
数据库设计与维护入门书籍
软件开发的著作权归属
数据库怎么去空格
django 测试数据库
介绍网络安全ppt
数据库开发的方向
国家网络安全周绘画
数据库应用中必须有表吗
信阳货币量化交易软件开发报价
数据库系统工程师 下午题
织梦数据库安装
软件开发的流程叫什么
易语言连接网页数据库
黄浦区软件开发创新服务
服务器 时间
书目数据库是全文数据库的一种