本节介绍了此 Oracle Solaris Studio 12.2 dbx 发行版中解决的问题。
执行 tracei 步骤时无法停止 dbx 执行
在 Solaris 平台上执行 tracei 步骤时,用户无法通过键入 control-C (^C) 停止 dbx。这实际上是一个 Solaris OS 错误,但是已修改 dbx 以解决此问题。
无法步入校验过的 debuglog uttsc 二进制文件
dbx 没有在词法块中正确处理 C++ 名称空间别名。这导致了 dbx 无法步入专门校验的二进制文件的问题。
对于使用 Purify 校验的多线程程序,dbx 中未提供与线程相关的命令。
Purify 会向所校验的所有共享库的名称添加后缀。例如,libc.so.1 将变为 libc.so.1_pure_p3_c0_1005282029_510_32。dbx 基于是否存在 libc.so.1(不再加载)做出了决定。现在,dbx 可理解 _pure* 后缀。
dbx 无法取消重整特定 GCC 4.x。sybx 无法从 SLES 10.2 上的核心转储文件提取程序名称。
在 SuSE Linux Enterprise Server 10.2 系统中,dbx 无法从核心转储文件获取程序,由于更新的 Linux 系统的每个核心转储文件包括两个注释部分,第二个注释部分为空。dbx 将从第一个部分中获取名称。
dbx 在 gcc 代码中查找构造函数的副本
gcc 有时会为某个成员生成多个条目,其中包括 DWARF debug.pubnames 部分中的一个条目,一个作为原型的条目以及一个摘要实例。看到原型条目的实例并对其进行处理后,dbx 需要删除该原型条目。
dbx 无法从 SLES 10.2 上的核心转储文件中提取程序名称。
在 SuSE Linux Enterprise Server 10.2 系统中,dbx 无法从核心转储文件获取程序,由于更新的 Linux 系统的每个核心转储文件包括两个注释章节,第二个注释章节为空。dbx 将从第一个部分中获取名称。
dbx 在输出变量时发生 SIGSEGV
从一些不是使用 -g 选项编译的目标文件 (.o) 创建可执行文件,并且 dbx 需要导入这些目标文件之一来计算变量时,由于 dbx 没有检查此条件,因此导入将失败。
dbx-如果无效,核心转储文件将发生 segv
dbx 没有检查是否可能存在长度为零的核心转储文件,也没有正常处理该文件。
“内存”和“反汇编程序”窗口可导致 dbx 在 IDE 下崩溃
如果 IDE 中的调试会话在显示“内存”或“反汇编程序”窗口时结束,然后重新启动,则显示这两个窗口中的任何一个都将导致基础 dbx 崩溃。