strace路径

https://sourceforge.net/projects/strace/?source=typ_redirect

1.下载strace-xxx.tar.xz

    下载网址是:http://sourceforge.net/project/showfiles.php?group_id=2861&package_id=2819

2.解压

      $  xz -d   ***.tar.xz

      $  tar -xvf   ***.tar

      可以看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式。

      补充:目前可以直接使用 tar xvJf  ***.tar.xz来解压

3.配置

扫描二维码关注公众号,回复: 705807 查看本文章

        ./configure                          ./configure --host=arm-linux CC=arm-none-linux-gnueabi-gcc

4.编译

      make                                            make CFLAGS+="-static"

5.安装

    make  install

6.使用

交叉编译

系统环境:Ubuntu 14.04.3 LTS
源码:strace-4.11.tar.xz

交叉编译环境:arm-none-linux-gnueabi-

[zhaojq@virtual-machine]# tar -xvf strace-4.11.tar.xz
[zhaojq@virtual-machine]# cd strace-4.11/
[zhaojq@virtual-machine]# ./configure --prefix=/home/zhaojq/strace --host=arm-none-linux CC=arm-none-linux-gnueabi-gcc LD=arm-none-linux-gnueabi-ld

[zhaojq@virtual-machine]# make

[zhaojq@virtual-machine]# make install

生成成功

交叉编译后的可执行文件在/home/zhaojq/strace目录的bin文件夹里
[zhaojq@virtual-machine strace/bin]# ls
strace  strace-graph  strace-log-merge
将所有文件都拷贝到ARM设备上文件系统的/bin目录里

通过strace打印出的信息,我们可以对什么时候产生了一个子线程,那个线程在等待,哪个线程被唤醒,哪个线程收到信号,哪个线程core掉有一个综合的了解,这些信息对多线程调试会起到很大的作用。

然后把里面的可执行文件strace拷贝出来,在用strip  strace命令去除调试信息,strace文件由2M变为500k

arm-none-linux-gnueab-strip strace

见博文:http://blog.csdn.net/u011630575/article/details/52077563

猜你喜欢

转载自my.oschina.net/u/2252538/blog/1541728