以下是与执行进度有关的事件的事件规范。
next 事件与 step 事件类似,不同之处在于并不步入函数。
returns 事件是当前访问的函数的返回点处的断点。使用访问的函数是为了可以在提供大量 step up 命令后使用 returns 事件规范。returns 事件始终为 -temp,并且只有当存在活动进程时才能创建该事件。
每当给定的函数返回到其调用点时,都会执行 returns function 事件。这不是临时事件。执行此操作时,并不提供返回值,但可以访问以下寄存器查找整型返回值:
$o0
$eax
$rax、$rdx
该事件大致等效于:
when in func { stop returns; } |
执行源代码的第一个指令时,会发生 step 事件。例如,可以使用以下语句获得简单跟踪:
when step { echo $lineno: $line; }; cont |
启用了 step 事件后,即指示 dbx 在下次使用 cont 命令时自动单步执行。
step 命令终止时,不会发生 step(和 next)事件。step 命令是按照 step 事件实现的,实现方式大致如下: alias step="when step -temp { whereami; stop; }; cont"