ARM linux strace 安裝
阿新 • • 發佈:2019-01-28
strace工具是一個非常強大的工具,是除錯程式的好工具。要移植到arm平臺,就需要使用交叉編譯工具編譯生成靜態連結的可執行檔案。具體步驟如下:
1.下載 strace-4.5.16.tar.bz2,不要下載最新的strace-4.5.18.tar.bz2,因為後者編譯會出錯。下載網址是:http://sourceforge.net/project/showfiles.php?group_id=2861&package_id=2819;
2.解壓。對於ARM平臺,必須打上一個補丁,補丁在文章的最後面;
3.配置。./configure --host=arm-linux CC=arm_v5t_le-gcc LD=arm_v5t_le-ld;
4.編譯。make CFLAGS+="-static",生成strace靜態可執行檔案,2M多;
5.strip。arm_v5t_le-stip strace ,這樣可執行檔案就減小到600多K。
1.下載 strace-4.5.16.tar.bz2,不要下載最新的strace-4.5.18.tar.bz2,因為後者編譯會出錯。下載網址是:http://sourceforge.net/project/showfiles.php?group_id=2861&package_id=2819;
2.解壓。對於ARM平臺,必須打上一個補丁,補丁在文章的最後面;
3.配置。./configure --host=arm-linux CC=arm_v5t_le-gcc LD=arm_v5t_le-ld;
4.編譯。make CFLAGS+="-static",生成strace靜態可執行檔案,2M多;
5.strip。arm_v5t_le-stip strace
strace的使用介紹可以參考以下兩篇文章:
1.http://www.ibm.com/developerworks/cn/aix/library/au-unix-strace.html。
2.http://blog.chinaunix.net/u1/38279/showart_367248.html
--- strace-4.5.16-orig/syscall.c
2005-06-08 21:45:28.000000000
+0100 * Note: we only deal with only 32-bit CPUs here. */++if(!(tcp->flags & TCB_INSYSCALL)&&+(tcp->flags & TCB_WAITEXECVE)){+/* caught a fake syscall from the execve's exit */+ tcp->flags &=~TCB_WAITEXECVE;+return 0;+}++ if (regs.ARM_cpsr & 0x20) { /* * Get the Thumb-mode system call number |