2011-09-20 35 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的

注意:被跟踪的过程运行缓慢。

相关问题