Solaris 10 6/06 版本說明

執行除錯程式時的問題

下列是與核心除錯程式相關的問題。

SPARC: 處理 64 位元物件時的 dbx 除錯程式問題 (6347707)

處理某些 64 位元的可執行檔和程式庫時,dbx 除錯程式會因記憶體存取失敗而告終止。不過,此問題不會影響這些 64 位元物件的一般使用。系統會顯示類似下列範例中的錯誤訊息:


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

解決方法:請改用 mdb 除錯程式或 Solaris Dynamic Tracing 功能。這些替代功能可診斷使用 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。