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

索引

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

Java コードとネイティブコードが混在するアプリケーションのデバッグに使用する dbx コマンドは、次のように分類することができます。

どの分類にも属さないコマンドはすべてネイティブモードでのみ動作します。

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

大部分の dbx コマンドで使用される Java の式の評価機能は次の構造をサポートしています。

サポートされていない構造は次のとおりです。

Java アプリケーションの状態を調べるうえで特に有用なのは、IDE または dbxtool の監視機能を利用する方法です。

データを調べる以上の操作を行う式に対して正確な値解釈を依存します。

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

通常、Java アプリケーションに関する情報の多くは、JVM ソフトウェアが起動してからのみ利用でき、終了すると利用できなくなります。ただし、Java アプリケーションのデバッグでは、dbx は、JVM ソフトウェアを起動する前にシステムクラスパスとユーザークラスパスに含まれているクラスファイルと JAR ファイルから必要な情報の一部を収集します。この情報のおかげで dbx は、アプリケーションの実行前にブレークポイントで綿密なエラー検査を行うことができます。

一部 Java クラスとその属性に、クラスパスからアクセスできないことがあります。dbx はそうしたクラスを調べて、ステップ実行することができ、式パーサーはそれらが読み込まれてからアクセスできるようになります。ただし、dbx が収集する情報は一時的な情報であり、JVM ソフトウェアが終了すると利用できなくなります。

Java アプリケーションのデバッグに dbx が必要とする情報はどこにも記録されません。このため dbx は、Java のソースファイルを読み取り、コードをデバッグしながらその情報を取得しようとします。

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

ここでは、構文と行う処理が Java モードとネイティブモードで完全に同じ dbx コマンドをまとめています。

コマンド
機能
attach
動作中のプロセスに dbx を接続します。プログラムは停止して、デバッグの制御下に置かれます。
cont
プロセスが実行を再開します。
dbxenv
dbx 環境変数を一覧表示するか、設定します。
delete
ブレークポイントとその他のイベントを削除します。
down
呼び出しスタックを下方向に移動します (main の逆方向)。
dump
プロシージャまたはメソッドにローカルなすべての変数を表示します。
file
現在のファイルを表示するか、変更します。
frame
現在のスタックフレーム番号を表示するか、変更します。
handler
イベントハンドラ (ブレークポイント) を変更します。
import
dbx コマンドライブラリからコマンドをインポートします。
line
現在の行番号を表示するか、変更します。
list
現在の行番号を表示するか、変更します。
next
ソース行を 1 行ステップ実行します (呼び出しをステップオーバー)。
pathmap
ソースファイルなどを検索するために、パス名を別のパス名に対応づけます。
proc
現在のプロセスの状態を表示します。
prog
デバッグ対象のプログラムとその属性を管理します。
quit
dbx を終了します。
rerun
引数なしでプログラムを実行します。
runargs
ターゲットプロセスの引数を変更します。
status
イベントハンドラ (ブレークポイント) を一覧表示します。
step up
ステップアップして、現在の関数またはメソッドを出ます。
stepi
機械命令を 1 つステップ実行します (呼び出しにステップイン)。
up
呼び出し方向を上方向に移動します (main 方向)
whereami
現在のソース行を表示します。

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

ここでは、Java のデバッグとネイティブコードのデバッグで構文が異なる dbx コマンドをまとめています。これらのコマンドは、Java モードとネイティブモードで動作が異なります。

コマンド
ネイティブモードでの機能
Java モードでの機能
assign
プログラム変数に新しい値を代入します。
局所変数またはパラメータに新しい値を代入します。
call
手続きを呼び出します。
メソッドを呼び出します。
dbx
dbx を起動します。
dbx を起動します。
debug
指定されたアプリケーションを読み込んで、アプリケーションのデバッグを開始します。
指定された Java アプリケーションを読み込んで、クラスファイルの有無を調べ、アプリケーションのデバッグを開始します。
detach
dbx の制御下にあるターゲットプロセスを解放します。
dbx の制御下にあるターゲットプロセスを解放します。
display
あらゆる停止点で式を評価して表示します。
あらゆる停止点で式か局所変数、パラメータを評価して表示します。
files
正規表現に一致するファイル名を一覧表示します。
dbx が認識しているすべての Java ソースファイルを一覧表示します。
func
現在の関数を表示するか、変更します。
現在のメソッドを表示するか、変更します。
next
ソースを 1 行ステップ実行します (呼び出しをステップオーバー)。
ソースを 1 行ステップ実行します (呼び出しをステップオーバー)。
print
式の値を表示します。
式か局所変数、パラメータの値を表示します。
run
引数を付けてプログラムを実行します。
引数を付けてプログラムを実行します。
step
ソースを 1 行か 1 文ステップ実行します (呼び出しにステップイン)。
ソースを 1 行か 1 文ステップ実行します (呼び出しにステップイン)。
stop
ソースレベルのブレークポイントを設定します。
ソースレベルのブレークポイントを設定します。
thread
現在のスレッドを表示するか、変更します。
現在のスレッドを表示するか、変更します。
threads
すべてのスレッドを一覧表示します。
すべてのスレッドを一覧表示します。
trace
実行されたソース行か関数呼び出し、変数の変更を表示します。
実行されたソース行か関数呼び出し、変数の変更を表示します。
undisplay
display コマンドを取り消します。
display コマンドを取り消します。
whatis
式の型または型の宣言を表示します。
識別子の宣言を表示します。
when
指定されたイベントが発生したときにコマンドを実行します。
指定されたイベントが発生したときにコマンドを実行します。
where
呼び出しスタックを表示します。
呼び出しスタックを表示します。

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

ここでは、Java または JNI モードでのみ有効な dbx コマンドをまとめています。

コマンド
機能
java
dbx が JNI モードのときに、指定したコマンドの Java 版を実行するよう指示するときに使用します。
javaclasses
コマンドが入力された時点で dbx が認識しているすべての Java クラス名を表示します。
joff
Java または JNI モードからネイティブモードに dbx を切り替えます。
jon
ネイティブモードから Java モードに dbx を切り替えます。
jpkgs
コマンドが入力された時点で dbx が認識しているすべての Java パッケージ名を表示します。
native
Java モードのときに、指定したコマンドのネイティブ版を実行するよう指示するときに使用します。