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 の起動

デバッグセッションを開始する

既存のコアファイルのデバッグ

同じオペレーティング環境でのコアファイルのデバッグ

コアファイルが切り捨てられている場合

一致しないコアファイルのデバッグ

共有ライブラリ問題の回避

注意点

プロセス ID の使用

dbx 起動時シーケンス

起動属性の設定

デバッグ時ディレクトリへのコンパイル時ディレクトリのマッピング

dbx 環境変数の設定

ユーザー自身の dbx コマンドを作成

デバッグのためのプログラムのコンパイル

-g オプションでコンパイル

別のデバッグファイルの使用

別のデバッグファイルの作成

最適化コードのデバッグ

パラメータと変数

インライン関数

-g オプションを使用しないでコンパイルされたコード

dbx を完全にサポートするために -g オプションを必要とする共有ライブラリ

完全にストリップされたプログラム

デバッグセッションを終了する

プロセス実行の停止

dbx からのプロセスの切り離し

セッションを終了せずにプログラムを終了する

デバッグ実行の保存と復元

save コマンドの使用

一連のデバッグ実行をチェックポイントとして保存する

保存された実行の復元

replay を使用した保存と復元

3.  dbx のカスタマイズ

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

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.  コマンドリファレンス

索引

デバッグのためのプログラムのコンパイル

dbx でデバッグを行う準備として、プログラムを -g または -g0 オプションを使用してコンパイルする必要があります。

-g オプションでコンパイル

-g オプションは、コンパイル時にデバッグ情報を生成するよう、コンパイラに命令します。

たとえば、C++ コンパイラを使用してコンパイルするには、次のように入力します。

% CC -g example_source.cc

C++ コンパイラの場合:

最適化コードを dbx で使用するためにコンパイルするには、-O (大文字 O) と -g オプションの両方でソースコードをコンパイルします。

別のデバッグファイルの使用

dbx により、 実行可能ファイルから別のデバッグファイルにデバッグ情報をコピーし、実行可能ファイルからその情報をストリップし、これらの 2 ファイル間にリンクを作成するために、Linux プラットフォームでは objcopy コマンド、Solaris プラットフォームでは gobjcopy コマンドのオプションを使用できます。

dbx は、次の順序で別のデバッグファイルを検索し、最初に見つかったファイルからデバッグ情報を読み取ります。

たとえば、実行可能ファイル a.out に対して別のデバッグファイルを作成するには、次のことを行います。

別のデバッグファイルの作成

  1. デバッグ情報を含む、a.out.debug という名前の別のデバッグファイルを作成します。
    objcopy --only-keep-debug a.out a.out.debug
  2. a.out からデバッグ情報をストリップします。
    objcopy --strip-debug a.out
  3. 2 つのファイル間にリンクを作成します。
    objcopy --add-gnu-debuglink=a.out.debug a.out

    Solaris プラットフォームの場合、gobjcopy コマンドを使用します。Linux プラットフォームの場合、objcopy コマンドを使用します。

    Linux プラットフォームでは、objcopy コマンドの -help オプションを使用して、プラットフォームで -add-gnu-debuglink オプションがサポートされているかどうかを調べることができます。 objcopy コマンドの -only-keep-debug オプションは、a.out.debug を完全な実行可能ファイルにすることができる cp a.out a.out.debug コマンドに置き換えることができます。