The following are event specifications for events pertaining to execution progress.
The exit event occurs when the process has exited.
The next event is similar to the step event except that functions are not stepped into.
The returns event is a breakpoint at the return point of the current visited function. The visited function is used so that you can use the returns event specification after giving a number of step up commands. The returns event is always -temp and can only be created in the presence of a live process.
The returns function event executes each time the given function returns to its call site. This is not a temporary event. The return value is not provided, but you can find integral return values by accessing the following registers:
$o0
$eax
$rax, $rdx
The event is roughly equivalent to:
when in func { stop returns; } |
The step event occurs when the first instruction of a source line is executed. For example, you can get simple tracing with:
when step { echo $lineno: $line; }; cont |
When enabling a step event, you instruct dbx to single step automatically next time the contcommand is used.
The step (and next) events do not occur upon the termination of the step command. The step command is implemented in terms of the step event roughly as follows: alias step="when step -temp { whereami; stop; }; cont"