Solaris 10 5/08 发行说明

x86: 意外的 SIGTRAP 信号导致 dbx 调试器挂起 (6546562 )

在 x86 平台上的 Solaris 10 OS 中使用 dbx 调试器调试可通过信号处理程序发出或传送信号的程序时,dbx 可能会收到来自内核的意外的 SIGTRAP 信号,该信号会导致调试器挂起。在以下情形下可能会发生这种情况:当 dbx 单步执行时、遇到断点时、搜集运行时检查 (runtime checking, RTC) 数据时,或者执行任何其他依赖于信号捕获的活动时。

在某些情况下,当 dbx 挂起时会显示意外的 SIGTRAP 信号警告。例如:


dbx: internal warning: unexpected SIGTRAP!

在其他情况下,dbx 指示收到 SEGV 信号。例如:


signal SEGV (no mapping at the fault address) in main at line 29 in file "test.c"

在这种情况下,当用户键入 cont -sig SEGV 命令继续执行 SEGV 信号时,dbx 会显示意外的 SIGTRAP 警告。

安装内核修补程序 127112 后,此错误会引入到 x86 平台上的 Solaris 10 OS 中。

解决方法:请不要安装内核修补程序 127112。如已经安装该内核修补程序,请将其卸载。有关此错误的更多信息,请参见 http://developers.sun.com/sunstudio/support/news/index.jsp 上的 "Sun Studio Support News" 页。