https://sourceforge.net/projects/strace/?source=typ_redirectphp
1.下载strace-xxx.tar.xzlinux
下载网址是:http://sourceforge.net/project/showfiles.php?group_id=2861&package_id=2819;多线程
2.解压.net
$ xz -d ***.tar.xz线程
$ tar -xvf ***.tar调试
能够看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式。blog
补充:目前能够直接使用 tar xvJf ***.tar.xz来解压ip
3.配置get
./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