Как отслеживать ошибки в списке, который генерируется командой 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
У вас есть ошибки с open
, stat
и access
, верно?
Так что запустите strace
с вами программу снова, но получите полную информацию. Вместо strace -c
используйте strace -v
. Найдите ошибки и посмотрите, какие файлы их причины.
Опять же запустите вас так: strace -v -o calls.txt -e open,stat,access your-prog
strace -c
используйтеstrace -v
. Найдите ошибки и посмотрите, какие файлы их вызывают. Опять же, запустите свою прогу так:strace -v -o calls.txt -e open,stat,access your-prog