what strace output means?
tolieve
tolieve at sjtu.edu.cn
Thu Jul 3 06:08:29 UTC 2003
I have study the system calls now. and I often confused by the strace output,
because the system calls in the strace output differ from the Linux program
manual, and at the same time, differ from the source code in Linux kernel.
for example:
###############################################
in strace output
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
which is signal handling in a program.
in Linux program manual
int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
and in the linux source code
kernel/signal.c:
sys_rt_sigprocmask(int how, sigset_t *set, sigset_t *oset, size_t sigsetsize)
here the source code is identical with the strace output.
###############################################
arch/i386/kernel/process.c:asmlinkage int sys_fork(struct pt_regs regs)
arch/i386/kernel/process.c:asmlinkage int sys_clone(struct pt_regs regs)
arch/i386/kernel/process.c:asmlinkage int sys_vfork(struct pt_regs regs)
arch/i386/kernel/process.c:asmlinkage int sys_execve(struct pt_regs regs)
Linux program manual .
fork: pid_t fork(void);
clone: int clone(int (*fn)(void *), void *child_stack, int flags, void
*arg);
vfork: pid_t vfork(void);
execve: int execve(const char *filename, char *const argv [], char
*const envp[]);
###############################################
which one I should choose? or I just use the pretty one, left the other alone.
by the way , how can I get more info about the system call.
how can I get the meaning of the strace output.
Thanks at advance.
More information about the Strace-devel
mailing list