Sun Studio 12 Update 1:使用 dbx 调试程序

执行进度事件规范

以下是与执行进度有关的事件的事件规范。

exit exitcode

退出了进程时,会发生 exit 事件。

next

next 事件与 step 事件类似,不同之处在于并不步入函数。

returns

returns 事件是当前访问的函数的返回点处的断点。使用访问的函数是为了可以在提供大量 step up 命令后使用 returns 事件规范。returns 事件始终为 -temp,并且只有当存在活动进程时才能创建该事件。

returns function

每当给定的函数返回到其调用点时,都会执行 returns function 事件。这不是临时事件。执行此操作时,并不提供返回值,但可以访问以下寄存器查找整型返回值:

基于 SPARC 的系统

$o0

基于 x86 的系统

$eax

基于 x64 的系统

$rax$rdx

该事件大致等效于:


when in func { stop returns; }

step

执行源代码的第一个指令时,会发生 step 事件。例如,可以使用以下语句获得简单跟踪:


when step { echo $lineno: $line; }; cont

启用了 step 事件后,即指示 dbx 在下次使用 cont 命令时自动单步执行。


注 –

step 命令终止时,不会发生 step(和 next)事件。step 命令是按照 step 事件实现的,实现方式大致如下: alias step="when step -temp { whereami; stop; }; cont"