1. <fieldset id='kkxng'></fieldset>

      2. <tr id='kkxng'><strong id='kkxng'></strong><small id='kkxng'></small><button id='kkxng'></button><li id='kkxng'><noscript id='kkxng'><big id='kkxng'></big><dt id='kkxng'></dt></noscript></li></tr><ol id='kkxng'><table id='kkxng'><blockquote id='kkxng'><tbody id='kkxng'></tbody></blockquote></table></ol><u id='kkxng'></u><kbd id='kkxng'><kbd id='kkxng'></kbd></kbd>
      3. <ins id='kkxng'></ins>

        <code id='kkxng'><strong id='kkxng'></strong></code>

          <span id='kkxng'></span>

        1. <i id='kkxng'></i>

          <acronym id='kkxng'><em id='kkxng'></em><td id='kkxng'><div id='kkxng'></div></td></acronym><address id='kkxng'><big id='kkxng'><big id='kkxng'></big><legend id='kkxng'></legend></big></address><dl id='kkxng'></dl>
            <i id='kkxng'><div id='kkxng'><ins id='kkxng'></ins></div></i>

            Linux系统中strace命令的使用教程

            • 时间:
            • 浏览:9
            • 来源:124软件资讯网

                在调试的时间  ,strace能资助你追踪到一个法式所执行的系统挪用  。当你想知道法式和操作系统怎样交互的时间  ,这是极其利便的 ,好比你想知道执行了哪些系统挪用  ,而且以何种顺序执行  。

                这个简朴而又强盛的工具险些在所有的Linux操作系统上可用  ,而且可被用来调试大量的法式 。

                下令用法

                让我们看看strace下令怎样追踪一个法式的执行情形  。

                最简朴的形式  ,strace后面可以跟任何下令 。它将列出许许多多的系统挪用  。一最先  ,我们并不能明白所有的输出  ,可是若是你正在寻找一些特殊的工具 ,那么你应该能从输出中发现它 。

                让我们来看看简朴下令ls的系统挪用跟踪情形  。

                代码如下:

                raghu@raghu-Linoxide ~ $ strace ls

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

                上面的输出部门展示了write系统挪用 ,它把当前目录的列表输出到尺度输出  。

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

                代码如下:

                raghu@raghu-Linoxide ~ $ ls

                选项1 寻找被法式读取的设置文件

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

                代码如下:

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

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

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

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

                代码如下:

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

                选项3 跟踪历程

                strace不光能用在下令上  ,而且通过使用-p选项能用在运行的历程上  。

                代码如下:

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

                选项4 strace的统计提要

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

                代码如下:

                raghu@raghu-Linoxide ~ $ strace -c ls

                选项5 生存输出效果

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

                代码如下:

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

                之以是以sudo来运行上面的下令 ,是为了防止用户ID与所检察历程的所有者ID不匹配的情形  。

                选项6 显示时间戳

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

                代码如下:

                raghu@raghu-Linoxide ~ $ strace -t ls

                选项7 更精致的时间戳

                -tt选项可以展示微秒级此外时间戳  。

                代码如下:

                raghu@raghu-Linoxide ~ $ strace -tt ls

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

                代码如下:

                raghu@raghu-Linoxide ~ $ strace -ttt ls

                选项8 相对时间

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

                代码如下:

                raghu@raghu-Linoxide ~ $ strace -r ls