linux strace

strace - trace system calls and signals

strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间

输出参数含义

[email protected]:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0brk(0)                                  = 0xab1000access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)...brk(0) = 0xab1000brk(0xad2000) = 0xad2000fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0open("/dev/null", O_RDONLY) = 3fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0read(3, "", 32768) = 0close(3) = 0close(1) = 0close(2) = 0exit_group(0) = ?

每一行都是一条系统调用,等号左边是系统调用的函数名及其参数,右边是该调用的返回值。
strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。

http://www.cnblogs.com/bangerlee/archive/2012/02/20/2356818.html

时间: 2024-11-01 13:25:03

linux strace的相关文章

Linux strace命令

一.简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备.strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间. 二.选项 http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html 三.实例 http://www.cnb

使用Linux strace命令来跟踪 bdump目录的x权限丢失时sqlplus / as sysdba 的输出

在上一篇文章中,说到bdump目录的x权限丢失,导致oracle数据库异常. 下面就来用linux 的strace命令来跟踪一下,当bdump目录的x权限丢失时,sqlplus / as sysdba会有什么样的输出: strace命令如下,该命令来源于:Using Strace in Linux to Debug Hang Type Problems (Doc ID 1391746.1) strace -fe verbose=all -e write=all -e read=all -o /u

Linux strace命令(转)

简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备.strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间. 输出参数含义 [email protected]:/usr# strace cat /dev/null execve("/bin/cat", ["cat"

【转载】linux strace

简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备.strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间. 输出参数含义 [email protected]:/usr# strace cat /dev/null execve("/bin/cat", ["cat"

Linux --- strace 工具

一.strace strace命令是一个集诊断.调试.统计与一体的工具,可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的. 当然strace与专业的调试工具比如说gdb之类的是没法相比的,因为它不是一个专业的调试器. strace的最简单的用法就是执行一个指定的命令,在指定的命令结束之后它也就退出了.在命令执行的过程中,strace会记录和解析命令进程的所有系统调用以及这个进程所接收到的所有的信号值. 二.strace 命令 的

linux跟踪线程的方法:LWP和strace命令

摘要:在使用多线程程序时,有时会遇到程序功能异常的情况,而这种异常情况并不是每次都发生,很难模拟出来.这时就需要运用在程序运行时跟踪线程的手段,而linux系统的LWP和strace命令正是这种技术手段.本文对LWP和strace命令做了简明扼要的介绍,并通过一个实例来说明如何运用.总而言之,LWP和strace的使用可以提高多线程程序的可维护性. 问题描述: 我们来看一个问题:程序tcp_client同时创建多个线程向同一个服务器发送数据,每个线程发送不同类型的数据,服务器接收数据后,可以通过

【linux工具之strace】

Linux strace命令 linux strace命令介绍 自助linux之问题诊断工具strace

以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析

在linux 操作系统的数据库服务器上,使用”sqlplus / as sysdba” 登录Oracle 10.2 数据库实例时,登录失败,显示ORA-01031:  权限不足. 在数据库所在服务器上登录的操作,使用的是操作系统认证方式登录数据库实例.在出现“ORA-01031 “ 的错误错误时,首先去检查sqlnet.ora 文件中SQLNET.AUTHENTICATION_SERVICES 项的配置信息.这种分析是被很多人推荐,在互联网上也有很多帖子都提及到. 大致得到的结论是: 1 .在w

跟踪工具大全

1.Solaris Dtrace DTrace是Sun Solaris内置的全面动态追踪工具,可供管理员和开发人员检查用户程序和操作系统自身的行为.您可利用DTrace浏览系统,以了解它的工作方式.追踪在软件的许多层面中存在的性能问题,或者探明异常行为的原因.在软件开发系统中使用该工具是安全的,且不必重启系统或应用程序. DTrace动态地修改操作系统内核和用户进程,以记录特别位置的数据,这称为probe(s).probe就是位置或活动,DTrace可将其与请求绑定在一起,以执行一组活动,如记录