MDB Process Attach and Release
When MDB attaches to a running user process, the process is stopped
and remains stopped until one of the continue dcmds is applied, or the debugger
quits. If the -o nostop
option is enabled prior to attaching
the debugger to a process with -p
or prior to issuing an ::attach
or :A
command, MDB will attach to the
process but not stop it. While the process is still running, it may be inspected
as usual (albeit with inconsistent results) and breakpoints or other tracing
flags may be enabled. If the :c
or ::cont
dcmds
are run while the process is running, the debugger will wait for the
process to stop. If no traced software events occur, the user can send an
interrupt (^C) after :c
or ::cont
to
force the process to stop and return control to the debugger.
MDB releases the current running process (if any) when the :R
, ::release
, :r
, ::run
, $q
, or ::quit
dcmds are executed, or when the debugger
terminates as the result of an EOF or signal. If the process was originally
created by the debugger using :r
or ::run
,
it will be forcibly terminated as if by SIGKILL when it is released. If the
process was already running prior to attaching MDB to it, it will be set running
again when it is released. A process may be released and left stopped and
abandoned using the ::release -a
option.