strace ls execve("/bin/ls", ["ls"], [/* 30 vars */]) = 0 uname({sys="Linux", node="mail.wztvu.com", ...}) = 0 brk(0) = 0x80586c8 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IF...
by ygl23 - Shell - 2006-06-29 00:03:31 阅读(1691) 回复(2)
用strace命令应该可以显示执行程序所调用的所有系统调用。为什么我执行包含fork()的程序,用strace却不能显示出fork()系统调用呢?别的系统调用没问题。 如,执行fork()的一程序如下: main() { int i,j,k; if (i=fork()) { j=wait(); printf(“Parent process!\n”); printf(“i=%d k=%d\n,i,k); } else{ k=getpid(); printf(“Child process!\n”); printf(“i=%d k=%d\n,i,k); } }
我用strace跟踪我程序的send信息,命令:strace -tt -f -x -s 1024 -e trace=send -p ***,同时我用tcpdump监控网络包,命令: tcpdump -i eth0 dst host X.X.X.X -s0 -X and port 9001。我发现这两个命令得到的信息不一致,是否是因为tcpdump更底层的原因了?
我看到HP-UX下的strace是完全不同的另外一种模式 下面是HP-UX下man strace得到的部分信息 strace gets STREAMS event trace messages from STREAMS drivers and modules via the STREAMS log driver 似乎是从STREAMS log driver中获取信息,我怎样才能通过HP-UX下的strace跟踪一个进程的系统调用和信号呢? 如果HP-UX下的strace可以跟踪一个进程的系统调用,那么命令格式strace [ mod sub pri ]中各个域该如何写呢?:)
请问HP-UX上类似于Linux上的 strace命令是什么,谢谢! Linux下strace命令可以查看一个命令执行时所使用的系统调用。