您现在的位置是:网站首页> 编程资料编程资料
Linux应用调试之strace命令详解_linux shell_
2023-05-26
484人已围观
简介 Linux应用调试之strace命令详解_linux shell_
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命令详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
您可能感兴趣的文章:
相关内容
- Git代码提交流程及git命令汇总(基础篇)_linux shell_
- 详解Sed命令的用法与正则表达式元字符_linux shell_
- Linux shell中的printf的详细用法_linux shell_
- shell中各种括号的作用详解()、(())、[]、[[]]、{}(推荐)_linux shell_
- linux下非root用户运行tomcat_linux shell_
- 使用shell脚本取出服务器图片的方法_linux shell_
- Linux定义变量脚本分享_linux shell_
- 利用expect命令实现Shell自动化交互的方法详解_linux shell_
- linux上搭建solr的实现方法(用jetty部署)_linux shell_
- linux上搭建solr的操作方法(用tomcat部署)_linux shell_
