应用程序调试(一)————使用strace命令来跟踪系统调用

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

  1. 下载源码
    网址:https://sourceforge.net/projects/strace/

    https://strace.io/

    源码在github上面:https://github.com/strace/strace/releases

    测试版本:5.15

  2. 编译
    打开READEME文件,大致浏览一遍 需要先 基本流程就是 ./configure && make && make_install,先后完成配置、编译和安装工作。

(1) 首先 进行配置 主要指定 主机和交叉编译工具链

./configure --prefix=/mnt/d/work/code/strace-5.15/tmp --enable-mpers=no LDFLAGS=’-static -pthread’ --host=aarch64-linux CC=/mnt/d/work/code/tx511_mpw/prebuilts/host/gcc/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc

解释:
–prefix:后面install的目录,也就是编译出来后的文件所存放的目录。绝对路径。
–enable-mpers=no:未解决Cannot enable m32 personality support这个错误
LDFLAGS:静态编译,动态编译不需要
–host:主机
CC:交叉编译工具链

(2) make

(3) make install

编译出来的文件在/mnt/d/work/code/strace-5.15/tmp目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值