linux shell strace 使用 实例

来源:互联网 发布:淘宝店铺首页装修代码 编辑:程序博客网 时间:2024/05/16 01:36

代码:

// 打印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)                          = ?


0 0
原创粉丝点击