JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:使用 dbx 调试程序     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  dbx 入门

2.  启动 dbx

3.  定制 dbx

4.  查看和导航到代码

5.  控制程序执行

6.  设置断点和跟踪

7.  使用调用堆栈

8.  求值和显示数据

9.  使用运行时检查

10.  修复并继续

11.  调试多线程应用程序

12.  调试子进程

13.  调试 OpenMP 程序

14.  处理信号

15.  使用 dbx 调试 C++

16.  使用 dbx 调试 Fortran

17.  使用 dbx 调试 Java 应用程序

18.  在机器指令级调试

19.  将 dbx 与 Korn Shell 配合使用

20.  调试共享库

A.  修改程序状态

dbx 下运行程序的影响

更改程序状态的命令

assign 命令

pop 命令

call 命令

print 命令

when 命令

fix 命令

cont at 命令

B.  事件管理

C.  宏

D.  命令参考

索引

更改程序状态的命令

以下命令可能会对您的程序进行修改:

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; ... }

事件发生时,会执行 command

到达某行或过程时,便会执行命令。程序的状态是否会更改取决于发出的命令。

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

fix 命令

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

fix

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

确保查看修复并继续的限制。请参见内存泄漏 (mel) 错误

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

cont at 命令

cont at 命令更改运行程序的顺序。如果程序是多线程程序,则要求在 line.id 行继续执行。

cont at line [ id ]

这可能会更改程序的结果。