Linux系统中strace操作实例汇总

王兆月110

王兆月110

2016-02-19 10:51

下面是个简单易学的Linux系统中strace操作实例汇总教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

Linux系统中,strace命令可用来追踪调试程序,能够与其他命令搭配使用,下面图老师小编将针对strace命令给大家做个详细介绍,一起来了解下strace命令的操作实例吧。

命令用法

让我们看看strace命令如何追踪一个程序的执行情况。

最简单的形式,strace后面可以跟任何命令。它将列出许许多多的系统调用。一开始,我们并不能理解所有的输出,但是如果你正在寻找一些特殊的东西,那么你应该能从输出中发现它。

让我们来看看简单命令ls的系统调用跟踪情况。

raghu@raghu-Linoxide~ $ strace ls

 Linux系统中strace操作实例汇总

这是strace命令输出的前几行。其他输出被截去了。

 Linux系统中strace操作实例汇总

上面的输出部分展示了write系统调用,它把当前目录的列表输出到标准输出。

下面的图片展示了使用ls命令列出的目录内容(没有使用strace)。

raghu@raghu-Linoxide~ $ ls

 Linux系统中strace操作实例汇总

选项1 寻找被程序读取的配置文件

Strace 的用法之一(除了调试某些问题以外)是你能找到被一个程序读取的配置文件。例如,

raghu@raghu-Linoxide~ $ strace php 2》&1| grep php.ini

 Linux系统中strace操作实例汇总

选项2 跟踪指定的系统调用

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

strace命令的-e选项仅仅被用来展示特定的系统调用(例如,open,write等等)

让我们跟踪一下cat命令的‘open’系统调用。

raghu@raghu-Linoxide~ $ strace -e open cat dead.letter

 Linux系统中strace操作实例汇总

选项3 跟踪进程

strace不但能用在命令上,而且通过使用-p选项能用在运行的进程上。

raghu@raghu-Linoxide~ $ sudo strace -p 1846

 Linux系统中strace操作实例汇总

选项4 strace的统计概要

它包括系统调用的概要,执行时间,错误等等。使用-c选项能够以一种整洁的方式展示:

raghu@raghu-Linoxide~ $ strace -c ls

 Linux系统中strace操作实例汇总

选项5 保存输出结果

通过使用-o选项可以把strace命令的输出结果保存到一个文件中。

raghu@raghu-Linoxide~ $ sudo strace -o process_strace -p 3229

 Linux系统中strace操作实例汇总

之所以以sudo来运行上面的命令,是为了防止用户ID与所查看进程的所有者ID不匹配的情况。

选项6 显示时间戳

使用-t选项,可以在每行的输出之前添加时间戳。

raghu@raghu-Linoxide~ $ strace -t ls

 Linux系统中strace操作实例汇总

选项7 更精细的时间戳

-tt选项可以展示微秒级别的时间戳。

raghu@raghu-Linoxide~ $ strace -tt ls

 Linux系统中strace操作实例汇总

-ttt也可以向上面那样展示微秒级的时间戳,但是它并不是打印当前时间,而是显示自从epoch(译注:1970年1月1日00:00:00 UTC)以来的所经过的秒数。

raghu@raghu-Linoxide~ $ strace -ttt ls

 Linux系统中strace操作实例汇总

选项8 相对时间

-r选项展示系统调用之间的相对时间戳。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

raghu@raghu-Linoxide~ $ strace -r ls

 Linux系统中strace操作实例汇总

上面就是Linux中strace的操作实例的介绍了,通过这些实例,我们可以知道strace命令不仅能够跟踪程序,还能够调试程序,是个非常使用的命令。

展开更多 50%)
分享

猜你喜欢

Linux系统中strace操作实例汇总

电脑入门
Linux系统中strace操作实例汇总

Linux中history命令的操作实例汇总

电脑入门
Linux中history命令的操作实例汇总

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux系统中wget命令操作实例

电脑入门
Linux系统中wget命令操作实例

Linux ls命令操作实例汇总

电脑入门
Linux ls命令操作实例汇总

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux curl命令操作实例汇总

电脑入门
Linux curl命令操作实例汇总

Linux系统中tar命令的实例汇总

电脑入门
Linux系统中tar命令的实例汇总

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Opacity.js

Opacity.js

javascript汉字转拼音的代码

javascript汉字转拼音的代码
下拉加载更多内容 ↓