2011-09-20 59 views

回答

7

ptrace()的細節是OS特有的。

在Linux上,孩子可能會要求其父母跟蹤ptrace(PTRACE_TRACEME, ...);但是,或者,一個進程可能會自己附加到另一個進程ptrace(PTRACE_ATTACH, ...)

請參閱Linux ptrace(2) man page(如果您確實需要詳細信息,請參閱strace source以及內核源代碼,從kernel/ptrace.c開始)。

26

strace -p <PID> ---->附加進程到strace。 「-p」選項是PID的過程。

strace -e trace=read,write -p <PID> - >由此,您還可以跟蹤事件的進程/程序,如讀取和寫入(在此示例中)。所以在這裏它將打印所有這些事件,包括進程讀寫系統調用。

其它此類實例

-e trace= network (Trace all the network related system calls.) 

-e trace=signal (Trace all signal related system calls.) 

-e trace=ipc  (Trace all IPC related system calls.) 

-e trace=desc  (Trace all file descriptor related system calls.) 

-e trace=memory (Trace all memory mapping related system calls.) 

等等..

跟蹤是的,你可以用-e選項使用許多選項之一。

Ctrl-C通過strace進行abbort跟蹤。

檢查HELP通過詳細信息輸入strace -h頁節小結上strace的

注意:被跟蹤的過程運行緩慢。

相關問題