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 synchronization.
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.