Linux之Strace

工作中总会用到那么几次,mysql起不来了,安装个软件都会报错等等等,那么怎么快速找到解决的方法呢?

strace是linux环境下的一款程序调试工具,用来检查一个应用程序(一个进程)所使用的系统调用及它所接受的系统信息.


-c   统计每一次系统调用所执行的时间,次数和错误等;

-f   跟踪fork调用所占用的子进程;

-F   尝试跟踪vfork调用.

-i   输出系统调用的入口指针.

-q   不输出关于附加或脱离的信息;

-r   打印出相对时间关于,,每一个系统调用; 

-t   在输出中的每一行前加上时间信息, 

-tt  在输出中的每一行前加上时间信息,微秒级

-T   显示每一调用所耗的时间 

-V   打印版本信息

-v   输出更加详细的信息; 

-x   以十六进制形式输出非标准字符串;

-xx  所有字符串以十六进制形式输出;

-a column -- 设置返回值的输出位置,默认是40;

-e expr -- 指定一个表达式,用来控制如何跟踪,

   option=[!]all or option=[!]val1[,val2]...

   options: trace, abbrev, verbose, raw, signal, read, or write

-o file -- 把屏幕输出的信息制定到一个文件夹里;

-O overhead -- set overhead for tracing syscalls to OVERHEAD usecs

-p pid 跟踪指定的进程pid

-s strsize -- 允许输出的字符串的最大长度. (default 32)

-S sortby -- 输出的信息如果排序,默认是时间,参数有time, calls, name, nothing

-u username -- 以username 的UID和GID执行被跟踪的命令

-E var=val -- 为命令指定环境变量

-E var -- 移除命令所调用的环境变量





你可能感兴趣的:(linux,strace)