JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ
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 アプリケーションのデバッグ

dbx と Java コード

Java コードに対する dbx の機能

Java コードのデバッグにおける dbx の制限事項

Java デバッグ用の環境変数

Java アプリケーションのデバッグの開始

クラスファイルのデバッグ

JAR ファイルのデバッグ

ラッパーを持つ Java アプリケーションのデバッグ

動作中の Java アプリケーションへの dbx の接続

Java アプリケーションを埋め込む C/C++ アプリケーションのデバッグ

JVM ソフトウェアへの引数の引き渡し

Java ソースファイルの格納場所の指定

C/C++ ソースファイルの格納場所の指定

独自のクラスローダーを使用するクラスファイルのパスの指定

Java メソッドにブレークポイントを設定する

ネイティブ (JNI) コードでブレークポイントを設定する

JVM ソフトウェアの起動方法のカスタマイズ

JVM ソフトウェアのパス名の指定

JVM ソフトウェアへの実行引数の引き渡し

Java アプリケーション用の独自のラッパーの指定

コマンド行オプションを受け付ける独自のラッパーの利用

コマンド行オプションを受け付けない独自のラッパーの利用

64 ビット JVM ソフトウェアの指定

dbx の Java コードデバッグモード

Java または JNI モードからネイティブモードへの切り替え

実行中断時のモードの切り替え

Java モードにおける dbx コマンドの使用法

dbx コマンドにおける Java の式の評価

dbx コマンドが利用する静的および動的情報

構文と機能が Java モードとネイティブモードで完全に同じコマンド

Java モードで構文が異なる dbx コマンド

Java モードでのみ有効なコマンド

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

19.  dbx の Korn シェル機能

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

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

B.  イベント管理

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

索引

dbx の Java コードデバッグモード

Java アプリケーションのデバッグの場合、dbx は次の 3 つのモードのいずれかで動作します。

Java または JNI (Java Native Interface) モードでは、JNI コードを含めて Java アプリケーションの状態を調べ、コードの実行を制御することができます。ネイティブモードでは、C または C++ JNI コードの状態を調べることができます。現在のモード (javajninative) は、jdbx_mode 環境変数に記憶されます。

Java モードでは、Java 構文を使用して dbx と対話します。dbx も Java 構文を使用して情報を提供します。このモードは、純粋な Java コードか、Java コードと C JNI または C++ JNI コードが混在するアプリケーション内の Java コードのデバッグに使用します。

JNI モードでは、dbx はネイティブの構文を使用して、ネイティブコードにだけ作用しますが、コマンドの出力には、ネイティブの状態ばかりでなく、Java 関係の状態も示されるため、JNI モードは「混在」モードです。このモードは、Java コードと C JNI または C++ JNI コードが混在するアプリケーションのネイティブ部分のデバッグに使用します。

ネイティブモードでは、dbx コマンドはネイティブのプログラムにだけ作用し、Java 関係の機能はすべて無効になります。このモードは Java が関係しないプログラムのデバッグに使用します。

Java アプリケーションを実行すると、dbx は状況に応じて Java モードと JNI モードを自動的に切り替えます。たとえば、Java ブレークポイントを検出すると、dbx は Java モードに切り替わり、Java コードから JNI コードに入ると、JNI モードに切り替わります。

Java または JNI モードからネイティブモードへの切り替え

dbx は、自動的にはネイティブモードに切り替わりません。Java または JNI モードからネイティブモードへは joff コマンド、ネイティブモードから Java モードへは jon コマンドを使って明示的に切り替えることができます。

実行中断時のモードの切り替え

たとえば Ctrl-C を使って Java アプリケーションの実行が中断された場合、dbx はアプリケーションを安全な状態にして、すべてのスレッドを一時停止することによって、自動的にモードを Java/JNI モードに切り替えようとします。

アプリケーションを一時停止して Java/JNI モードに切り替えることができない場合、dbx はネイティブモードに切り替わります。 この場合でも、jon コマンドを使用して、Java モードに切り替え、プログラムの状態を調べることができます。