strace 是llinux下经常用的一个工具,可以用来跟踪 程序运行的状态,和察看程序运行时哪里出了问题。
用法:
strace program_name
下面是个实用例子,可以看到程序运行时的具体操作内容。:
$ strace test
execve("/usr/bin/test", ["test"], [/* 40 vars */]) = 0
brk(0) = 0x8da7000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76f4000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=71278, ...}) = 0
mmap2(NULL, 71278, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb76e2000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or