如何跟踪strace -c命令生成的列表中的错误,有些可以帮助我,以便我可以修复它们。 记录:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
30.95 0.000173 6 30 mmap
26.83 0.000150 7 23 12 open
12.70 0.000071 4 20 mprotect
8.05 0.000045 5 9 read
6.98 0.000039 3 13 close
6.98 0.000039 3 12 fstat
3.04 0.000017 3 6 3 stat
1.43 0.000008 8 1 1 access
1.43 0.000008 8 1 execve
0.89 0.000005 2 3 brk
0.72 0.000004 4 1 arch_prctl
0.00 0.000000 0 1 write
0.00 0.000000 0 1 lstat
0.00 0.000000 0 2 munmap
0.00 0.000000 0 2 rt_sigaction
0.00 0.000000 0 1 rt_sigprocmask
0.00 0.000000 0 2 ioctl
0.00 0.000000 0 1 getrlimit
0.00 0.000000 0 2 statfs
0.00 0.000000 0 1 set_tid_address
0.00 0.000000 0 1 set_robust_list
------ ----------- ----------- --------- --------- ----------------
100.00 0.000559 133 16 total
答案 0 :(得分:3)
open
,stat
和access
出错,对不对?
所以再次运行strace
程序,但获取完整信息。相反,strace -c
使用strace -v
。查找错误并查看其原因。
再一次,按照这样的方式运行你:strace -v -o calls.txt -e open,stat,access your-prog