`

strace命令

 
阅读更多

 

 

strace

-c 统计每一系统调用的所执行的时间,次数和出错的次数等. 
-d 输出strace关于标准错误的调试信息. 
-f 跟踪由fork调用所产生的子进程. 
-ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号. 
-F 尝试跟踪vfork调用.在-f时,vfork不被跟踪. 
-h 输出简要的帮助信息. 
-i 输出系统调用的入口指针. 
-q 禁止输出关于脱离的消息. 
-r 打印出相对时间关于,,每一个系统调用. 
-t 在输出中的每一行前加上时间信息. 
-tt 在输出中的每一行前加上时间信息,微秒级. 
-ttt 微秒级输出,以秒了表示时间. 
-T 显示每一调用所耗的时间. 
-v 输出所有的系统调用.一些调用关于环境变量,状态,输入输出等调用由于使用频繁,默认不输出. 
-V 输出strace的版本信息. 
-x 以十六进制形式输出非标准字符串 
-xx 所有字符串以十六进制形式输出. 
-a column 
设置返回值的输出位置.默认 为40. 
-e expr 
指定一个表达式,用来控制如何跟踪.格式如下: 
[qualifier=][!]value1[,value2]... 
qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用来限定的符号或数字.默认的 qualifier是 trace.感叹号是否定符号.例如: 
-eopen等价于 -e trace=open,表示只跟踪open调用.而-etrace!=open表示跟踪除了open以外的其他调用.有两个特殊的符号 all 和 none. 
注意有些shell使用!来执行历史记录里的命令,所以要使用\\. 
-e trace=set 
只跟踪指定的系统 调用.例如:-e trace=open,close,rean,write表示只跟踪这四个系统调用.默认的为set=all. 
-e trace=file 
只跟踪有关文件操作的系统调用. 
-e trace=process 
只跟踪有关进程控制的系统调用. 
-e trace=network 
跟踪与网络有关的所有系统调用. 
-e strace=signal 
跟踪所有与系统信号有关的 系统调用 
-e trace=ipc 
跟踪所有与进程通讯有关的系统调用 
-e abbrev=set 
设定 strace输出的系统调用的结果集.-v 等与 abbrev=none.默认为abbrev=all. 
-e raw=set 
将指 定的系统调用的参数以十六进制显示. 
-e signal=set 
指定跟踪的系统信号.默认为all.如 signal=!SIGIO(或者signal=!io),表示不跟踪SIGIO信号. 
-e read=set 
输出从指定文件中读出 的数据.例如: 
-e read=3,5 
-e write=set 
输出写入到指定文件中的数据. 
-o filename 
将strace的输出写入文件filename 
-p pid 
跟踪指定的进程pid. 
-s strsize 
指定输出的字符串的最大长度.默认为32.文件名一直全部输出. 
-u username 
以username 的UID和GID执行被跟踪的命令

 

 

 

 

 

 

参考

linux strace命令

使用strace, ltrace寻找故障原因的线索 

 

 

 

 

 

 

分享到:
评论

相关推荐

    linux的strace命令(详解)

    Linux 的 Strace 命令详解 Strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。Strace 显示这些调用的参数并返回符号形式的值。Strace 从内核接收信息,而且不需要以任何特殊的方式来构建...

    使用 strace 命令来监控内存分配,找出OOM的原因

    使用 strace 命令来监控内存分配,找出OOM的原因 由于使用 Netty 导致的,那错误日志里可能会出现 OutOfDirectMemoryError 错误 如果直接是 DirectByteBuffer,那会报 OutOfMemoryError Direct buffer memory

    strace 命令用法

    ### 一、strace命令的基本结构 `strace`命令的基本格式如下: ```bash strace [选项] [-e trace=EXPR] [-f] [-tt] [-T] [-p PID] [-PPID] [-c] [-o FILE] [-s SIZE] [--seccomp] [command [args...]] ``` 其中,`...

    strace命令用法

    ### strace命令详解 #### 一、概述 `strace`是一款极其强大的系统调试与分析工具,主要用于跟踪程序运行过程中的系统调用以及接收到的信号。它可以帮助开发者理解程序内部是如何通过系统调用来实现其功能的,尤其...

    strace命令 跟踪系统调用

    strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。 strace常用来跟踪进程执行时的系统...

    Linux应用调试之strace命令详解

    5. 将编译好的strace命令复制到可执行路径,如 `/bin` 目录下。 ### 3. strace命令使用 strace提供多种选项以满足不同需求,常见的有: - `-o file`:指定跟踪信息的输出文件,如 `strace -o log.txt` 将输出...

    linux的strace命令.docx

    `strace`命令的基本形式是`strace <command>`,其中`<command>`是你想要追踪的程序。它会显示程序运行过程中所调用的所有系统调用及其参数和返回值。 2. **选项**: - `-f` 和 `-F`:这两个选项用于同时追踪目标...

    strace跟踪工具使用手册

    编译完成的strace工具通过tftp工具复制到目标平台,并赋予全权限,命令为chmod777strace。 在使用strace时,有两种主要的运行模式: 1. 通过在要跟踪的进程前加上strace来启动,如strace ls -lh /var/log/messages...

    strace-4.5.20.tar.bz2

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

    Unix 命令全集

    strace 命令 strchg 命令 strclean 命令 strconf 命令 strerr 守护进程 strinfo 命令 strings 命令 strip 命令 stripnm 命令 strload 命令 strreset 命令 struct 命令 sttinet 方法 stty 命令 stty-cxma 命令 style ...

    利用strace进行trubleshooting

    strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。  strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。

    genymotion v2.2.0 及调试工具教程

    "strace命令详解.pdf"和"strace命令用法.pdf"是两份非常有价值的参考资料,它们会详细介绍如何使用strace进行调试,包括如何安装、配置,以及如何解析和理解跟踪结果。 使用Genymotion,开发者可以轻松创建和管理多...

    Linux CPU占用率高故障排查.docx

    * 使用 strace 命令和 perf 命令可以跟踪进程的系统调用和调用栈。 * 创建进程或者线程最好指定名称,方便定位问题。 高 CPU 占用率是一种常见的故障现象,需要通过系统监控和性能分析工具来排查和解决。

    Linux常用命令_开发调试篇1

    6. **strace命令**:用于追踪系统调用和信号处理。`strace ./cmdTest`可以让我们看到程序运行时所有的系统调用,有助于理解程序如何与操作系统交互。 7. **valgrind**:内存检测工具,可以帮助找出内存泄漏、无效...

    linux命令之调试工具strace的深入分析

    最后,strace的电子书《linux的strace命令(详解).txt》可以在新浪电子书平台上下载,对于希望深入了解strace的用户来说,是一个非常好的学习资源。而man strace则提供了Linux系统中strace的官方手册页,用户可以通过...

    操作系统实验报告一.doc

    * strace 命令:用于监视用户空间程序发出的全部系统调用。 通信类: * ftp 命令:用于实现 WINDOWS 和 UNIX 之间的文件传输。 实验报告的目的是让我们熟悉 UNIX/Linux 的常用基本命令,并了解如何使用这些命令来...

    strace-4.5.

    1. 基本命令行语法:`strace [选项] [命令及参数]` 例如,要跟踪ls命令的所有系统调用,可以使用`strace ls`。 2. 选择跟踪的系统调用:使用`-e`选项指定要跟踪的系统调用,如`strace -e trace=open,write ls`只...

    linux编程调试详解

    通过编译并运行这个程序,然后使用strace命令来跟踪它的系统调用,可以看到程序启动时涉及到的各种系统调用,例如execve、brk、mmap等,这些调用涉及程序的初始化、内存分配、库文件加载等操作。 在strace的输出中...

Global site tag (gtag.js) - Google Analytics