日期:2014-05-16  浏览次数:20698 次

Linux 下 strace 命令用法总结

Linux 下 strace 命令用法总结(一)

1? 功能说明


strace?命令是一种强大的工具 ,? 能够显示任何由用户空间程式发出的系统调用 .? strace?显示这些调用的参数并返回符号形式的值 .? strace?从内核接收信息 ,? 而且无需以任何特别的方式来构建内核 .? strace?的每一行输出包括系统调用名称, ? 然后是参数和返回值.

下面记录几个常用option :

-f?-F选项告诉strace同时跟踪fork和vfork出来的进程

-o?xxx.txt?输出到某个文档 .?

-e?execve?只记录?execve?这类系统调用 .




2? 详细用法


usage:?strace?[-dffhiqrtttTvVxx]?[-a?column]?[-e?expr]?...?[-o?file]

??????????????[-p?pid]?...?[-s?strsize]?[-u?username]?[-E?var=val]?...

??????????????[command?[arg?...]]

???or:?strace?-c?[-e?expr]?...?[-O?overhead]?[-S?sortby]?[-E?var=val]?...

??????????????[command?[arg?...]]

-c?--?count?time,?calls,?and?errors?for?each?syscall?and?report?summary

-f?--?follow?forks,?-ff?--?with?output?into?separate?files

-F?--?attempt?to?follow?vforks,?-h?--?print?help?message

-i?--?print?instruction?pointer?at?time?of?syscall

-q?--?suppress?messages?about?attaching,?detaching,?etc.

-r?--?print?relative?timestamp,?-t?--?absolute?timestamp,?-tt?--?with?usecs

-T?--?print?time?spent?in?each?syscall,?-V?--?print?version

-v?--?verbose?mode:?print?unabbreviated?argv,?stat,?termio[s],?etc.?args