代码:
// 打印helloworld 代码
ngnsvr9 [** NONE **]/home/xionghailong/shell $ cat main.c
//main.c
#include <stdio.h>
int main()
{
printf("Hello world!\n");
}
编译:
ngnsvr9 [** NONE **]/home/xionghailong/shell $ gcc main.c -o main
执行生成trace文件:
ngnsvr9 [** NONE **]/home/xionghailong/shell $ strace -o main.trace ./main
Hello world!
ngnsvr9 [** NONE **]/home/xionghailong/shell $ ls
a.txt example first helloworld.sh main main.c main.trace out.sh trac
查看main.trace文件:
ngnsvr9 [** NONE **]/home/xionghailong/shell $ cat main.trace
execve("./main", ["./main"], [/* 40 vars */]) = 0
uname({sys="Linux", node="ngnsvr9", ...}) = 0
brk(0) = 0x501000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95556000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=167241, ...}) = 0
mmap(NULL, 167241, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2a95557000
close(3) = 0
open("/lib64/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\3041\371<\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1635440, ...}) = 0
mmap(0x3cf9300000, 2326568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3cf9300000
mprotect(0x3cf942f000, 1085480, PROT_NONE) = 0
mmap(0x3cf952f000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12f000) = 0x3cf952f000
mmap(0x3cf9534000, 16424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3cf9534000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95580000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95581000
mprotect(0x3cf952f000, 12288, PROT_READ) = 0
mprotect(0x3cf9214000, 4096, PROT_READ) = 0
arch_prctl(ARCH_SET_FS, 0x2a95580b00) = 0
munmap(0x2a95557000, 167241) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95557000
write(1, "Hello world!\n", 13) = 13
exit_group(13) = ?