strace是Linux环境下的一款程序调试工具,用于检查一个应用程序所使用的系统调用以及它所接收的系统信息。strace会追踪程序运行时的整个生命周期,输出每一个系统调用的名字、参数、返回值和执行所消耗的时间等,是高级运维和开发人员排查问题的杀手锏。Linux命令是Linux运维学习的必备内容。跟踪进程的系统调用命令strace参数选项有哪些?
-c 统计每一个系统调用所执行的时间、次数和出错的次数等。
-d 输出strace关于标准错误的调试信息。
-f 跟踪目标进程,以及目标进程创建的所有子进程。
-ff 如果提供-o filename,则将所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号。
-i 输出系统调用的入口指针。
-q 禁止输出关于脱离的消息。
-r 输出每一个系统调用的相对时间。
-t 在输出中的每一行前加,上时间信息。
-tt 在输出中的每一行前加上时间信息,精确到微秒。
-ttt 在输出中的每一行前加上时间信息,精确到微秒,而且时间表示为UNIX时间戳。
-T 显示每次系统调用所花费的时间。
-v 对于某些相关调用,把完整的环境变量、文件stat结构等打印出来。
-x 以十六进制形式输出非标准字符串。
-xx 所有字符串以十六进制形式输出。
-o filename 将strace的输出写入文件filename。
-p pid 指定要跟踪的进程pid,要同时跟踪多个pid,重复多次p选项即可。
-s strsize 指定输出的字符串的最大长度,跌认为32。并没有将文件名视为字符串,默认全部输出。
-u username 以usermame的UID和GID执行所跟踪的命令。
阅读(928) | 评论(0) | 转发(0) |