Solaris 10 11/06 ご使用にあたって

デバッガ実行時の注意事項

カーネルデバッガに関する注意事項について説明します。

SPARC: 64 ビットオブジェクトの処理中の dbx デバッガに関する問題 (6347707)

一部の 64 ビット実行可能ファイルおよび 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 にアップグレードしてください。