JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  dbx の概要

2.  dbx の起動

3.  dbx のカスタマイズ

4.  コードの表示とコードへの移動

コードへの移動

ファイルの内容を表示する

関数を表示する

あいまいな関数名をリストから選択する (C++)

複数存在する場合の選択

ソースリストの出力

呼び出しスタックの操作によってコードを表示する

プログラム位置のタイプ

プログラムスコープ

現在のスコープを反映する変数

表示スコープ

表示スコープのコンポーネント

表示スコープの変更

スコープ決定演算子を使用してシンボルを特定する

逆引用符演算子

コロンを重ねたスコープ決定演算子 (C++)

ブロックローカル演算子

リンカー名

シンボルを検索する

シンボルの出現を出力する

実際に使用されるシンボルを決定する

スコープ決定検索パス

スコープ検索規則の緩和

変数、メンバー、型、クラスを調べる

変数、メンバー、関数の定義を調べる

型およびクラスの定義を調べる

オブジェクトファイルおよび実行可能ファイル内のデバッグ情報

オブジェクトファイルの読み込み

モジュールについてのデバッグ情報

モジュールのリスト

ソースファイルおよびオブジェクトファイルの検索

5.  プログラムの実行制御

6.  ブレークポイントとトレースの設定

7.  呼び出しスタックの使用

8.  データの評価と表示

9.  実行時検査

10.  修正継続機能 (fix と cont)

11.  マルチスレッドアプリケーションのデバッグ

12.  子プロセスのデバッグ

13.  OpenMP プログラムのデバッグ

14.  シグナルの処理

15.  dbx を使用してプログラムをデバッグする

16.  dbx を使用した Fortran のデバッグ

17.  dbx による Java アプリケーションのデバッグ

18.  機械命令レベルでのデバッグ

19.  dbx の Korn シェル機能

20.  共有ライブラリのデバッグ

A.  プログラム状態の変更

B.  イベント管理

C.  マクロ

D.  コマンドリファレンス

索引

オブジェクトファイルおよび実行可能ファイル内のデバッグ情報

ソースファイルを -g オプションを使用してコンパイルして、プログラムをよりデバッグしやすくすることができます。-g オプションを使用すると、コンパイラがデバッグ情報 (スタブまたは DWARF 形式) をプログラム用のコードおよびデータとともにオブジェクトファイルに記録します。

dbx は、必要なときに要求に応じて各オブジェクトファイル (モジュール) のデバッグ情報を解析して読み込みます。module コマンドを使用することによって dbx に特定のモジュール、またはすべてのモジュールのデバッグ情報を読み込むように要求することができます。「ソースファイルおよびオブジェクトファイルの検索」も参照してください。

オブジェクトファイルの読み込み

オブジェクト (.o) ファイルがリンクされると、リンカーは任意で要約情報のみを結果ロードオブジェクトに保存することができます。この要約情報は実行時に dbx で使用して、実行可能ファイルからではなくオブジェクトファイル自体から残りのデバッグ情報を読み込むことができます。作成された実行可能ファイルの容量は小さいですが、dbx を実行するときにオブジェクトファイルが必要になります。

この要件は、オブジェクトファイルを -xs オプションを使用してコンパイルし、オブジェクトファイルのすべてのデバッグ情報をリンク時に実行可能ファイルに入れることによって変更することができます。

アーカイブライブラリ (.a ファイル) をオブジェクトファイルとともに作成して、そのアーカイブライブラリをプログラムで使用した場合、dbx は必要に応じてアーカイブライブラリからオブジェクトファイルを抽出します。ここではオリジナルのオブジェクトファイルは必要ありません。

ただし、すべてのデバッグ情報を実行可能ファイルに入れると、追加のディスク容量が必要になります。デバッグ情報は実行時にプロセスイメージに読み込まれないため、プログラムが遅くなることはありません。

スタブ型式を使用した際のデフォルト動作では、コンパイラは要約情報のみを実行可能ファイルに入力します。

DWARF 形式では、オブジェクトファイルの読み込みをサポートしていません。


注 - DWARF 形式は、同じ情報をスタブ形式で記録するよりも大幅にサイズが小さくなります。ただし、すべての情報が実行可能ファイルにコピーされるため、DWARF 情報はスタブ情報よりもサイズが大きく見えてしまいます。


モジュールについてのデバッグ情報

module コマンドおよびそのオプションは、デバッグセッション中、プログラムモジュールを追跡するのに役立ちます。module コマンドを使用して、1 つまたはすべてのモジュールについてのデバッグ情報を読み込みます。通常 dbx は、必要に応じて、自動的にゆっくりとモジュールについてのデバッグ情報を読み込みます。

1 つのモジュール name についてのデバッグ情報を読み込むには、次のように入力します。

(dbx) module [-f] [-q] name

すべてのモジュールについてのデバッグ情報を読み込むには、次のように入力します。

(dbx) module [-f] [-q] -a

ここで

-a

すべてのモジュールを指定します。

-f

ファイルが実行可能より新しい場合でも、デバッグ情報を強制的に読み込みます。

-q

静止モードを指定します。

-v

言語、ファイル名などを出力する冗長モードを指定します。これはデフォルト値です。

現在のモジュール名を出力するには、次のように入力します。

(dbx) module

モジュールのリスト

modules コマンドは、モジュール名をリストすることにより、モジュールを追跡することができます。

すでに dbx に読み取られたデバッグ情報を含むモジュールの名前をリスト表示するには、次のように入力します。

(dbx) modules [-v] -read

すべてのプログラムモジュール名 (デバッグ情報付き、またはなし) をリスト表示するには、次のように入力します。

(dbx) modules [-v]

デバッグ情報付きのすべてのプログラムモジュール名をリスト表示するには、次のように入力します。

(dbx) modules [-v] -debug

ここで

-v

言語、ファイル名などを出力する冗長モードを指定します。