User`s guide

Stopping at System Calls
77
syscall ignore {call | return} {system_call | all}
Clears the breakpoint to stop execution upon entering (call)
or returning from (return) the specified system call.
If you use the keyword all rather than giving a specific
system call, dbx clears the breakpoints to stop execution
upon entering (call) or returning from (return) all system
calls.
syscall catch [{call | return}]
Prints a list of all system calls caught upon entry (call) or
return (return). If you provide neither the call nor return
keyword, dbx lists all system calls that are caught.
syscall ignore [{call | return}]
Prints a list of all system calls not caught upon entry (call)
or return (return). If you provide neither the call nor return
keyword, dbx lists all system calls that are ignored.
syscall Prints a summary of the catch and ignore status of all
system calls. The summary is divided into four sections:
1) caught at call, 2) caught at return, 3) ignored at call, and
4) ignored at return.
Note: The fork and sproc system calls are treated specially as they invoke
new processes. The returns from these system calls are controlled by the dbx
variables $promptonfork and$mp_program, not by syscall. This is discussed in
“Handling fork System Calls” on page 104 and “Handling sproc System
Calls and Process Group Debugging” on page 107.The execv and execve
system calls are treated specially as they change a process into a new
program. For more information, see “Handling exec System Calls” on
page 106.
The system calls are listed in /usr/include/sys.s. dbx ignores the case of the
system call names in all syscall commands; therefore, you can use uppercase
or lowercase in these commands.
A particularly useful setting is:
(dbx) syscall catch call exit
This stops your program upon entry to exit. With your program stopped,
you can do a stack trace before the termination to see why exit was called.