<acronym id='xd4te'><em id='xd4te'></em><td id='xd4te'><div id='xd4te'></div></td></acronym><address id='xd4te'><big id='xd4te'><big id='xd4te'></big><legend id='xd4te'></legend></big></address>

<dl id='xd4te'></dl>

      <i id='xd4te'><div id='xd4te'><ins id='xd4te'></ins></div></i>

    1. <tr id='xd4te'><strong id='xd4te'></strong><small id='xd4te'></small><button id='xd4te'></button><li id='xd4te'><noscript id='xd4te'><big id='xd4te'></big><dt id='xd4te'></dt></noscript></li></tr><ol id='xd4te'><table id='xd4te'><blockquote id='xd4te'><tbody id='xd4te'></tbody></blockquote></table></ol><u id='xd4te'></u><kbd id='xd4te'><kbd id='xd4te'></kbd></kbd>
      1. <ins id='xd4te'></ins>
          <fieldset id='xd4te'></fieldset>
        1. <i id='xd4te'></i>

          <span id='xd4te'></span>

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

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

            • 时间:
            • 浏览:12
            • 来源: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