strace工具使用手册
一、说明
Strace是Linux中一个调试和跟踪工具。它可以接管被跟踪进程执行的系统调用和收到的信号。然后把每一个执行的系统调用的名字,参数和返回值打印出来。可以通过strace找到问题出现在user层还是kernel层。strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。
strace命令是一个集诊断、调试、统计于一体的工具,使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析 ,以达到解决问题或者了解应用工作过程的目的。有时错误日志不能满足定位问题的需求,因此需要从更“深层”的方面着手分析,可以通过strace观察这些系统调用及其参数、返回值,界定出错的范围,甚至找出问题出现的根因。
- 操作系统内核直接运行在硬件上,提供设备管理、内存管理、任务调度等功能。
- 用户空间通过API请求内核空间的服务来完成其功能——内核提供给用户空间的这些API, 就是系统调用。
进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,