strace -f -o /tmp/strace.out info zoog >/dev/null
grep -E 'open|fstat' /tmp/strace.out !! | grep -v ENO
grep '^[0-9]* open(.* = [^-]' /tmp/strace.out
-e expr A qualifying expression which modifies which events to
trace or how to trace them. The format of the expression
is:[qualifier=][!]value1[,value2]...
where qualifier is one of trace, abbrev, verbose, raw, signal, read, or write and value is a qualifier-dependent symbol or number. The default qualifier is trace. Using an exclamation mark negates the set of values. For example, -eopen means literally -e trace=open which in turn means trace only the open system call. By contrast, -etrace=!open means to trace every system call except open. In addition, the special values all and none have the obvious meanings.
Note that some shells use the exclamation point for history expansion even inside quoted arguments. If so, you must escape the exclamation point with a backslash.
-e trace=set
Trace only the specified set of system calls. The -c
option is useful for determining which system calls might
be useful to trace. For example,
trace=open,close,read,write means to only trace those
four system calls. Be careful when making inferences
about the user/kernel boundary if only a subset of system
calls are being monitored. The default is trace=all.-e trace=process
Trace all system calls which involve process management.
This is useful for watching the fork, wait, and exec
steps of a process.-e trace=network
Trace all the network related system calls.-e trace=signal
Trace all signal related system calls.-e trace=ipc
Trace all IPC related system calls.If you want to compare between different strace logs, filter them with the following first.
awk '{$1=""; gsub(/0x[0-9a-f][0-9a-f][0-9a-f]+/,"0x..."); print}'awk '{$1=""; gsub(/0x[0-9a-f]*/,"0x..."); print}'would hide too much info. Eg., 'iopl(0x3)'. Best way is to use the following, but it failed to work: awk '{$1=""; gsub(/0x[0-9a-f]{6,}/,"0x..."); print}'$ awk --version GNU Awk 3.1.5 |
documented on: 2006.10.08