Strace通常用于跟踪系统调用和进程执行时收到的信号。下面是本文中用于Linux应用程序调试的strace命令。有需要的请参考。
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/
#补丁-p1./strace-fix-arm-bad-syscall . patch
//"P1 "值删除补丁的第一个路径" "指补丁文件的位置,而"./”是指返回上一个目录。
#./configure-host=arm-Linux cc=arm-Linux-gcc//configure配置
#make //生成strace命令文件
然后把strace命令文件放到我们开发板的根目录/bin下,就可以使用了。
# CPS trace/nfs _ root/bin//NFS _ root:开发板的NFS系统根目录。
3.strace命令使用
常见参数如下:
-o指定跟踪信息的输出文件。
-t记录跟踪信息的时间,单位为秒。
-记录追踪信息的tt时间,美国
4.实例
通过strace测试led_text应用程序
#insmod led.ko //负载led驱动器
# strace -o log.txt。/led_text led1开启
//测试led_text应用程序,打开led1,将跟踪信息输出到log.txt
log.txt的内容如下:
总结
以上是边肖介绍的用于Linux应用程序调试的strace命令的详细说明。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!