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