3. 顯示 find 命令的線程標識和常規輸出,輸入:
truss -l find . -print >find.out
4. 顯示 find 命令的時間戳記和常規輸出,輸入:
truss -d find . -print >find.out
5. 顯示 find 命令的增量時間和常規輸出,輸入:
truss -D find . -print >find.out
6. 運行 ls 命令時,在 libc.a 庫中跟蹤 malloc() 函數調用及除去 strlen() 函數調用,輸入:
truss -u libc.a::malloc,!strlen ls
7. 運行 ls 命令時,跟蹤 libc.a 庫中名稱以“m”開頭的所有函數調用,輸入:
truss -u libc.a::m*,!strlen ls
8. 運行可執行 foo 時,跟蹤來自 libcurses.a 庫的所有函數調用及除去來自 libc.a 的調用,輸入:
truss -u libcurses.a,!libc.a::* foo
9. 運行可執行 foo 時,跟蹤來自 libcurses.a 的 refresh() 函數調用和來自 libc.a 的 malloc() 函數調用,輸入:
truss -u libc.a::malloc -u libcurses.a::refresh foo
下面是一個英文版本的介紹和范例。
Truss is used to trace the system/library calls (not user calls) and signals made/received by a new or existing process. It sends the output to stderr.
NOTE: Trussing a process throttles that process to your display speed. Use -wall and -rall sparingly. [Page]
Truss usage
truss -a -e -f -rall -wall -p
truss -a -e -f -rall -wall
-a Show arguments passed to the exec system calls
-e Show environment variables passed to the exec system calls
-f Show forked processes
(they will have a different pid: in column 1)
-rall Show all read data (default is 32 bytes)
-wall Show all written data (default is 32 bytes)
-p Hook to an existing process (must be owner or root)
Specify a program to run
文章來源于領測軟件測試網 http://www.kjueaiud.com/