1.strace简介
strace常用来跟踪进程执行时的系统调用和所接收的信号。 通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等。在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。
2.安装strace命令
首先需要以下两个文件:
strace-4.5.15.tar.bz2
strace-fix-arm-bad-syscall.patch
步骤如下:
#tar -xjf strace-4.5.15.tar.bz2
#cd strace-4.5.15/
#patch -p1 ../strace-fix-arm-bad-syscall.patch
//“p1”值去掉补丁的第一个路径 “”指补丁文件位置,“../” 指返回上个目录
#./configure --host=arm-linux CC=arm-linux-gcc //配置configure
#make //生成strace命令文件
然后将strace命令文件,放入我们开发板的根目录/bin中,便能使用了
#cp strace /nfs_root/bin/ //nfs_root:开发板的nfs系统根目录
3.strace命令使用
常用参数如下所示:
-o 指定跟踪信息的输出文件
-t 记录跟踪信息的时间,以S为单位
-tt 记录跟踪信息的时间,以uS为单位
4.实例
通过strace来测试led_text应用程序
#insmod led.ko //装载led驱动
# strace -o log.txt ./led_text led1 on
//测试led_text应用程序,打开led1,并将跟踪信息输出到log.txt中
其中log.txt的内容如下所示:
总结
以上所述是小编给大家介绍的Linux应用调试之strace命令详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:- Linux命令 sort、uniq、tr工具详解
- Linux tr命令的使用方法
- Linux traceroute命令使用详解
- Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的区别和使用详解
- Trash-Cli:Linux上的命令行回收站工具
- 详解linux下tree命令的用法
- Linux shell tr 命令详解
- 详解linux中的strings命令简介
- 一天一个shell命令 linux文本操作系列-tree命令详解
- Linux tr命令的使用