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.  コードの表示とコードへの移動

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.  マクロ

マクロ展開

マクロ定義

コンパイラとコンパイラオプション

機能におけるかね合い

制限事項

スキミングエラー

pathmap コマンドを使用したスキミングの改善

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

索引

マクロ展開

assign コマンドでは、変数と式の両方にマクロ展開が適用されます (assign コマンド」を参照)。

call コマンド (call コマンド」を参照) では、呼び出される関数の名前と渡されるパラメータにマクロ展開が適用されます。

macro コマンド (macro コマンド」を参照) は、任意の式とマクロを取り、マクロを展開します。例:

(dbx) macro D(1, 2)
    Expansion of: D(1, 2)
              is: d(1,2)

whatis コマンド (whatis コマンド」 を参照) にマクロを指定すると、そのマクロの定義が表示されます。例:

(dbx) whatis B
    #define B(x) b(x)

which コマンド (which コマンド」を参照) にマクロを指定すると、スコープ内で現在アクティブになっているマクロが定義されている場所が表示されます。例:

(dbx) which B2
    `a.out`macro_wh.c`B2    # defined at defs2.h:3
            # included from defs1.h:3
            # included from macro_wh.c:23

whereis コマンド (whereis コマンド」を参照) にマクロを指定すると、そのマクロが定義されているすべての場所が表示されます。リストは、dbx がすでにデバッグ情報を読み取ったモジュールに限られます。例:

(dbx) whereis U
    macro:          U       # defined at macro_wh.c:21
    macro:          U       # undefined at defs1.h:5

dbx 環境変数 macro_expand は、コマンドがマクロを展開するかどうかを制御します。デフォルトでは on に設定されます。

通常、dbx コマンドの +m オプションにより、コマンドでのマクロ展開は省略されます。-m オプションは、dbx 環境変数 macro_expandoff に設定されている場合でも、マクロ展開を強制します。例外は、-m オプションを $[] 構文で使用する場合で、その場合は -m オプションによってマクロの展開だけが行われ、評価は実行されません。この例外により、シェルスクリプトでのマクロ展開が容易になります。