STRACE(1) CYGWIN STRACE(1)NAME
- Usage: strace.exe [OPTIONS] -p <pid>
SYNOPSIS
strace.exe [OPTIONS] <command-line>
OPTIONS
Trace system calls and signals
-b, --buffer-size=SIZE
set size of output file buffer
-d, --no-delta
don't display the delta-t microsecond timestamp
-f, --trace-children
trace child processes (toggle - default true)
-h, --help
output usage information and exit
-m, --mask=MASK
set message filter mask
-n, --crack-error-numbers
output descriptive text instead of error numbers for Windows
errors
-o, --output=FILENAME
set output file to FILENAME
-p, --pid=n
attach to executing program with cygwin pid n
-q, --quiet
toggle "quiet" flag. Defaults to on if "-p", off otherwise.
-S, --flush-period=PERIOD
flush buffered strace output every PERIOD secs
-t, --timestamp
use an absolute hh:mm:ss timestamp insted of the default
microsecond timestamp. Implies -d
-T, --toggle
toggle tracing in a process already being
-u, --usecs
toggle printing of microseconds timestamp traced. Requires -p
<pid>
-v, --version
output version information and exit
-w, --new-window
spawn program under test in a new window
MASK can be any combination of the following mnemonics and/or
hex values (0x is optional). Combine masks with '+' or ',' like
so:
--mask=wm+system,malloc+0x00800
Mnemonic Hex Corresponding Def Description
=========================================================================
all 0x000001 (_STRACE_ALL) All strace messages.
flush 0x000002 (_STRACE_FLUSH) Flush output buffer after each
message.
inherit 0x000004 (_STRACE_INHERIT) Children inherit mask from parent.
uhoh 0x000008 (_STRACE_UHOH) Unusual or weird phenomenon.
syscall 0x000010 (_STRACE_SYSCALL) System calls.
startup 0x000020 (_STRACE_STARTUP) argc/envp printout at startup.
debug 0x000040 (_STRACE_DEBUG) Info to help debugging.
paranoid 0x000080 (_STRACE_PARANOID) Paranoid info.
termios 0x000100 (_STRACE_TERMIOS) Info for debugging termios stuff.
select 0x000200 (_STRACE_SELECT) Info on ugly select internals.
wm 0x000400 (_STRACE_WM) Trace Windows msgs (enable
_strace_wm).
sigp 0x000800 (_STRACE_SIGP) Trace signal and process handling.
minimal 0x001000 (_STRACE_MINIMAL) Very minimal strace output.
pthread 0x002000 (_STRACE_PTHREAD) Pthread calls.
exitdump 0x004000 (_STRACE_EXITDUMP) Dump strace cache on exit.
system 0x008000 (_STRACE_SYSTEM) Serious error; goes to console and
log.
nomutex 0x010000 (_STRACE_NOMUTEX) Don't use mutex for synchroniza‐
tion.
malloc 0x020000 (_STRACE_MALLOC) Trace malloc calls.
thread 0x040000 (_STRACE_THREAD) Thread-locking calls.
special 0x100000 (_STRACE_SPECIAL) Special debugging printfs for
non-checked-in code
DESCRIPTION
The strace program executes a program, and optionally the children of
the program, reporting any Cygwin DLL output from the program(s) to
stdout, or to a file with the -o option. With the -w option, you can
start an strace session in a new window, for example:
$ strace-o tracing_output -w sh -c 'while true; do echo "tracing...";
done' &
This is particularly useful for strace sessions that take a long time
to complete.
Note that strace is a standalone Windows program and so does not
rely on the Cygwin DLL itself (you can verify this with cygcheck). As
a result it does not understand symlinks. This program is mainly useful
for debugging the Cygwin DLL itself.
COPYRIGHT
Cygwin is Copyright (C) 1995-2010 Red Hat, Inc.
Cygwin is Free software; for complete licensing information, refer to:
http://cygwin.com/licensing.html
SEE ALSO
The full documentation to the Cygwin API is maintained on the web at:
http://cygwin.com/cygwin-api/cygwin-api.html
The website is updated more frequently than the man pages and should be
considered the authoritative source of information.
April 2010 STRACE(1)