Solaris 10 11/06 发行说明

运行调试程序时的问题

下列问题涉及内核调试程序。

SPARC: 处理 64 位对象时 dbx 调试程序出现问题 (6347707)

在处理某些 64 位可执行文件和库时,dbx 调试程序因内存访问失败而终止。但是,该问题并不影响这些 64 位对象的正常使用。将显示一条类似以下示例的错误消息:


dbx: internal error: signal SIGBUS (invalid address alignment)

解决方法:改为使用 mdb 调试程序或 Solaris 动态跟踪工具。这些替代工具可以诊断使用 64 位对象的进程。

当主 CPU 发生变化时系统可能循环 (4405263)

运行 Solaris 内核调试程序以调试活动系统的系统可能循环,并显示不完整的错误消息。当 OpenBoot PROM 的主 CPU 更改时发生此循环。系统复位即可恢复系统操作。不过,对原始故障的跟踪将会丢失。因此,无法执行对致命复位的诊断。

解决方法:当系统处于 PROM 级别时,会显示 OpenBoot 的 ok 提示符。在具有多个 CPU 的系统中,ok 提示符前面是括在花括号中的数字。此数字表示系统中的活动 CPU。要在处于 PROM 级别时运行调试会话,请执行以下步骤:

  1. 通过键入以下命令,将 pil 提高到 f:


    {0} ok h# 0f pil!
    
  2. 使用 switch-cpu 命令,选择性地从当前活动的 CPU 切换到另外的 CPU。例如,要从 CPU #0 切换到 CPU #1,请键入以下命令:


    (0) ok 1 switch-cpu
    

    现在,ok 提示符前面是要切换的 CPU 的编号。


    {1} ok
  3. 运行调试程序。

  4. 在调试程序会话结束时,发出 reset-all 命令以使系统恢复为正常使用。


注 –

确保将系统升级到 OpenBoot PROM 的最新版本。