Oracle Solaris Studio 12.2 发行版的新增功能

软件更正

本节介绍了此 Oracle Solaris Studio 12.2 dbx 发行版中解决的问题。

  1. 执行 tracei 步骤时无法停止 dbx 执行

    在 Solaris 平台上执行 tracei 步骤时,用户无法通过键入 control-C (^C) 停止 dbx。这实际上是一个 Solaris OS 错误,但是已修改 dbx 以解决此问题。

  2. 无法步入校验过的 debuglog uttsc 二进制文件

    dbx 没有在词法块中正确处理 C++ 名称空间别名。这导致了 dbx 无法步入专门校验的二进制文件的问题。

  3. 对于使用 Purify 校验的多线程程序,dbx 中未提供与线程相关的命令。

    Purify 会向所校验的所有共享库的名称添加后缀。例如,libc.so.1 将变为 libc.so.1_pure_p3_c0_1005282029_510_32。dbx 基于是否存在 libc.so.1(不再加载)做出了决定。现在,dbx 可理解 _pure* 后缀。

  4. dbx 无法取消重整特定 GCC 4.x。sybx 无法从 SLES 10.2 上的核心转储文件提取程序名称。

    在 SuSE Linux Enterprise Server 10.2 系统中,dbx 无法从核心转储文件获取程序,由于更新的 Linux 系统的每个核心转储文件包括两个注释部分,第二个注释部分为空。dbx 将从第一个部分中获取名称。

  5. dbx 在 gcc 代码中查找构造函数的副本

    gcc 有时会为某个成员生成多个条目,其中包括 DWARF debug.pubnames 部分中的一个条目,一个作为原型的条目以及一个摘要实例。看到原型条目的实例并对其进行处理后,dbx 需要删除该原型条目。

  6. dbx 无法从 SLES 10.2 上的核心转储文件中提取程序名称。

    在 SuSE Linux Enterprise Server 10.2 系统中,dbx 无法从核心转储文件获取程序,由于更新的 Linux 系统的每个核心转储文件包括两个注释章节,第二个注释章节为空。dbx 将从第一个部分中获取名称。

  7. dbx 在输出变量时发生 SIGSEGV

    从一些不是使用 -g 选项编译的目标文件 (.o) 创建可执行文件,并且 dbx 需要导入这些目标文件之一来计算变量时,由于 dbx 没有检查此条件,因此导入将失败。

  8. dbx-如果无效,核心转储文件将发生 segv

    dbx 没有检查是否可能存在长度为零的核心转储文件,也没有正常处理该文件。

  9. “内存”和“反汇编程序”窗口可导致 dbx 在 IDE 下崩溃

    如果 IDE 中的调试会话在显示“内存”或“反汇编程序”窗口时结束,然后重新启动,则显示这两个窗口中的任何一个都将导致基础 dbx 崩溃。