更新日付: 2004 年 5 月 27 日

Sun[tm] Studio 9: dbx Readme


目次

  1. はじめに
  2. Sun Studio 9 dbx について
  3. 新規および変更された機能
  4. ソフトウェアの修正事項
  5. 問題点と回避策
  6. 制限事項と互換性の問題
  7. 記述の誤りの訂正

 


A. はじめに

この文書では、Sun[tm] Studio 9 dbx に関する情報を提供します。このリリースで導入された新機能、ソフトウェアの修正事項、既知の問題点、制限事項、互換性の問題について説明します。この文書の記載内容はこのリリースのマニュアルの記載内容に優先します。

製品マニュアル

 


B. Sun Studio 9 dbx について

dbx は、ソースレベルの対話型コマンド行デバッグツールです。このツールを使い、制御された方法でプログラムを実行したり、停止したプログラムの状態を検査したりできます。dbx によって、パフォーマンスデータの収集も含めて、プログラムの動的な実行を完全に制御することができます。このリリースの dbx は、次のプラットフォームで利用できます。

 


C. 新規および変更された機能

ここでは、dbx で新たに追加された機能と変更された機能を説明しています。

Sun Studio 9 dbx で新しく追加された、または変更された機能は次のとおりです。

gcc や g++ コンパイラでコンパイルされたプログラム、あるいは Linux プラットフォームで動作するプログラムの場合、dbx の一部機能は利用できません。詳細は、制限事項と互換性の問題を参照してください。

Solaris プラットフォーム版のその他の Sun Studio 9 コンポーネントについては、http://docs.sun.com から入手可能な『Sun Studio 9 の新機能』をお読みください。

 


D. ソフトウェアの修正事項

ここでは、Sun Studio 9 リリースの dbx で解決されたソフトウェアの問題点を説明します。

  1. dbx が、最適化された C++ コードのレジスタ内容およびクラスメンバーを出力できない
  2. bcheck のエラーの報告に間違いがある
  3. sparcv9 コードの実行時検査中に dbx からエラーメッセージ (Error 0) が表示される
  4. 自身が制御できないプロセスを dbx が強制終了させる
  5. stop inclass/inobject に時間がかかる
  6. 64 ビット: 大きな連続するヒープブロックのアクセス検査に失敗する
  7. dbx の修正継続で、Pro/E が SIGILL でクラッシュする
  1. dbx が、最適化された C++ コードのレジスタ内容およびクラスメンバーを出力できない (4964695)

    Sun Studio 8 で修正済み。 現在の dbx は、-g -xO4 を付けてコンパイルされた C++ コードのレジスタ ($o7) やクラスメンバー (foo.x) を出力できます。

  2. bcheck のエラーの報告に間違いがある (4460648)

    実行時検査で捕捉されていなかった、ヒープ上のデータ構造体に対する範囲外の割り当てが捕捉されるようになっています。

  3. sparcv9 コードの実行時検査中に dbx からエラーメッセージ (Error 0) が表示される (4975411)

    Sun Studio 8 で修正済み。 アクセス検査を有効にして dbx 上で 64 ビット SPARC プログラムを実行すると、dbx から次のようなエラーメッセージが表示されることがあります。

         dbx: read of 4 bytes at address 0x8 failed --- Error 0
         dbx warning: internal handler (-396) made defunct --- could not
             enable event FRET"
    	 

    この問題は修正されています。

  4. 自身が制御できないプロセスを dbx が強制終了させる (5022145)

    さらにメモリーが必要とされるにもかかわらず、スワップ空間がないなどの理由で割り当てられない場合、dbx は、デバッグ中のプロセスを強制終了させます。報告されたこの問題そのものは修正済みです。しかし、dbx が追加のメモリーを取得できない場合に不具合が起きる状況は他にも考えられます。デバッグ中にシステムの限界に達しないようにしてください。

  5. stop inclass/inobject に時間がかかる (4952613)

    Sun Studio 8 で修正済み。 パフォーマンス上のこの問題は修正されています。

  6. 64 ビット: 大きな連続するヒープブロックのアクセス検査に失敗する (4958325)

    dbx は 32 ビット値を使用して、ヒープブロックのサイズを格納しています。これよりブロックサイズが大きいと、dbx に混乱が生じていました。この問題は修正されています。

  7. dbx の修正継続で、Pro/E が SIGILL でクラッシュする (4974233)

    動作中の実行可能ファイルに置換関数のアドレスのパッチを行うときに、dbx がアドレスを間違えることがありました。この問題は修正されています。

 


E. 問題点と回避策

ここでは、これまでに判明しているソフトウェアの問題点とその回避策について説明します。最新情報については、http://docs.sun.com から入手可能なリリースノートを参照してください。

  1. dbx がプロセスに接続されると、データ収集で問題が発生する
  2. RTC は、埋め込み構造体の複製をエラーと考える
  3. dbx がコピーコンストラクタからの RUI を検査しない
  4. dbx で Java コードのデバッグ中に障害が発生する場合がある
  5. dbx で Java コードの再デバッグ中に障害が発生する

  1. dbx がプロセスに接続されると、データ収集で問題が発生する

    コレクタライブラリ libcollector.so を事前に読み込まずに実行プロセスに dbx を接続すると、多数のエラーが発生します。

    • トレーシングデータを収集することはできません。トレーシングデータとは、同期待ちトレース、ヒープトレース、MPI トレースなどです。トレーシングデータはさまざまなライブラリへの割り込み処理によって収集されます。 libcollector.so が事前に読み込まれていない場合、割り込み処理ができなくなります。
    • dbx がプロセスに接続されたあとにシグナルハンドラがインストールされ、そのシグナルハンドラが SIGPROF および SIGEMT 信号を通過しない場合、プロファイリングデータと標本データが失われます。
    • プログラムが非同期入出力ライブラリ libaio.so を使用している場合、クロックベースのプロファイリングデータと標本データが失われます。 libaio.so は、非同期の取り消し操作のために SIGPROF を使用するためです。(4397578)
    • プログラムがハードウェアカウンタライブラリ libcpc.so を使用している場合、ハードウェアカウンタのオーバーフロープロファイリング実験は失敗します。コレクタとプログラムの両方がそのライブラリを使用しているためです。dbx がプロセスに接続された後にハードウェアカウンタライブラリが読み込まれた場合、libcpclibrary 関数への参照が libcpc.so の検索ではなく通常の検索によって解決されれば、ハードウェアカウンタの実験は成功します。
    • プログラムが setitimer(2) を呼び出す場合、クロックベースのプロファイリング実験は失敗することがあります。コレクタとプログラムの両方がタイマーを使用しているためです。

  2. RTC は、埋め込み構造体の複製をエラーと考える (4460536)

    実行時検査を有効にすると、データ領域間にギャップ (隙間またはパディング) のある構造体がコピーされる場合に RUI (初期化されていないメモリーからの読み取り) エラーが生成されます。

  3. dbx がコピーコンストラクタからの RUI を検査しない
  4. 実行時検査が、インライン化された C++ のコピーコンストラクタに対して、RUI (初期化されていないメモリーからの読み取り) エラーを誤って報告することがあります。

  5. dbx で Java コードのデバッグ中に障害が発生する場合がある (4893079)
  6. dbx シェルの中で、cd コマンドを実行した場合、もしくは CLASSPATH 環境変数または CLASSPATHX 環境変数を設定した場合、dbx でセグメント例外が発生することがあります。

    回避策:

  7. dbx で Java コードの再デバッグ中に障害が発生する (4801883)
  8. Java コードに対して 2 つの debug コマンドを実行することによって、dbx で障害が発生する場合があります。

 


F. 制限事項と互換性の問題 

Sun Studio 9 dbx には次の制限があります。


G. 記述の誤りの訂正

現時点では新しい情報はありません。

 


Copyright (C) 2004 Sun Microsystems, Inc. All rights reserved.Use is subject to license terms.