博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 工具系列之 - strace
阅读量:5312 次
发布时间:2019-06-14

本文共 1292 字,大约阅读时间需要 4 分钟。

 what is strace ?

  Linux 解释 

  

  从字面意思上就可道 strace 跟踪程序执行时候的系统调用和信号.

  

 how use?

  man 一下strace 发现它的参数一大坨,是不是很郁闷,不用担心,其实我们只要记住几个常用的参数就可以搞定绝对大多数问题啦

  注意 test指可执行文件

  strace  -i       查看可执行文件的系统调用

   -i           查看可执行文件在那个地址进行了系统调用,可配合gdb 

   -p " pid of test"  附加到运行的进程 Ctrl  +c 结束

   -o trace.log      输出重定向到日志里面

   -f          fork 之后,跟踪fork 之后的进程

   -t          输出每一行加上调用时间,秒为单位

    -tt           输出每一行加上调用时间,毫秒为单位

  -T            显示每一系统调用时间

  

 other:

  -e expr 指定跟踪格式,格式如下

   [qualifier=][!]value1[,value2]...

  手册如下面说明

  where qualifier is one of trace, abbrev, verbose, raw, signal, read, or write and

  value is a qualifier-dependent symbol or number. The default qualifier is trace.

  Using an exclamation mark negates the set of values. For example, -e open means
  literally -e trace=open which in turn means trace only the open system call. By
  contrast, -e trace=!open means to trace every system call except open. In addi‐
  tion, the special values all and none have the obvious meanings.

  Note that some shells use the exclamation point for history expansion even inside

  quoted arguments. If so, you must escape the exclamation point with a backslash.

  这句话很好懂,这里就不解释啦

  strace 就到这里啦,其他的参数man一下就知道了...................

 

 

    

  

 

  

  

 

转载于:https://www.cnblogs.com/songbingyu/p/3700116.html

你可能感兴趣的文章
codeforces 283C
查看>>
Codeforces Round #549 (Div. 1) 做题记录
查看>>
Query1AfterScroll 与 DataSource1DataChange 区别
查看>>
【SQL Server高可用性】数据库镜像:在SQL Server 2008R2上的配置数据库镜像
查看>>
PHP编程效率
查看>>
APP案例分析——嘀嗒番茄钟
查看>>
【2016北京集训测试赛(十六)】 River (最大流)
查看>>
什么是抽象类?什么是抽象方法,接口和抽象类有什么区别?
查看>>
Java 事件机制
查看>>
strchr()函数 和 strrchr() 函数
查看>>
架构知识体系
查看>>
KVO & 通知 小记
查看>>
ReactiveCocoa 浅析
查看>>
Codeforces 379F New Year Tree
查看>>
自动化监控系统(二)连接数据库,创建app,添加model,同步数据库
查看>>
2017.7.2 linux命令 系统管理
查看>>
loj 101 最大流
查看>>
Spring声明式事务管理与配置介绍
查看>>
Ofbiz项目学习——阶段性小结——服务返回结果
查看>>
移动硬盘——显示盘符但打不开
查看>>