Oracle® Developer Studio 12.5:使用 dbx 调试程序

退出打印视图

更新时间: 2016 年 6 月
 
 

更改程序状态的命令

本节介绍的命令可修改程序。

assign 命令

assign 命令将 expression 的值赋给 variable dbx 中使用它会永久更改 variable 的值。

assign variable = expression

pop 命令

pop 命令从堆栈中弹出一个或多个帧:

pop

弹出当前帧。

pop number

弹出 number 个帧。

pop -f number

弹出帧,直至帧号达到指定帧 number

任何弹出的调用在恢复后将重新执行,这可能导致不必要的程序更改。pop 还为所弹出函数的本地对象调用析构函数。

有关更多信息,请参见pop 命令

call 命令

dbx 中使用 call 命令时,会调用一个过程,而且该过程将按指定方式执行:

call proc([params])

该过程可能会修改程序中的某些内容。dbx 执行该调用的方式好像您已将其写入程序源代码中一样。

有关更多信息,请参见call 命令

print 命令

要输出表达式的值,请键入:

print expression, ...

如果表达式含有函数调用,则请输出表达式以执行调用命令。因此,应遵循与使用 call 命令 命令时相同的注意事项。对于 C++,还应注意由重载运算符导致的意外的副作用。

有关更多信息,请参见print 命令

when 命令

when 命令的通用语法如下所示:

when event-specification [modifier] {command; ... }

发生事件时,执行上述命令。此操作是否会更改程序的状态取决于发出的命令。

有关更多信息,请参见when 命令

fix 命令

可以使用 fix 命令对程序进行即时更改。

尽管 fix 命令是一个非常有用的工具,但它会重新编译修改过的源文件,并将修改过的函数动态链接到应用程序中。

请注意,修复并继续功能在 Intel Linux 或 SPARC Linux 上不受支持。确保检查对修复并继续功能的其他限制。请参见内存泄漏 (mel) 错误

有关更多信息,请参见fix 命令

cont at 命令

cont at 命令将更改运行程序的顺序。 在行 line 处继续执行。 如果程序是多线程程序,则 ID 是必需的。

cont at line [ ID ]

该命令可能会更改程序的结果。