Java モードにおける dbx コマンドの使用法
どの分類にも属さないコマンドはすべてネイティブモードでのみ動作します。
dbx コマンドでの Java の式の評価
Java アプリケーションの状態を調べるうえで特に有用なのは、IDE または dbxtool の監視機能を利用する方法です。
単なるデータの検査を超える操作を行う式では、正確な値の解釈に依存しないでください。
dbx コマンドによって使用される静的および動的情報
通常、Java アプリケーションに関する情報の多くは、JVM ソフトウェアが起動してからのみ利用でき、終了すると利用できなくなります。ただし、Java アプリケーションのデバッグでは、dbx は、JVM ソフトウェアを起動する前にシステムクラスパスとユーザークラスパスに含まれているクラスファイルと JAR ファイルから必要な情報の一部を収集します。これらの情報により、dbx はユーザーがアプリケーションを実行する前に、ブレークポイントでより適切なエラー検査を実行できます。
一部の Java クラスとその属性には、クラスパス経由でアクセスできないことがあります。dbx は、これらのクラスを検査したり、ステップ実行したりできます。また、式解析プログラムは、これらのクラスが実行時にロードされたあと、アクセスできるようになります。ただし、dbx が収集する情報は一時的な情報であり、JVM ソフトウェアが終了すると利用できなくなります。
Java アプリケーションのデバッグに dbx が必要とする情報はどこにも記録されません。このため dbx は、Java のソースファイルを読み取り、コードをデバッグしながらその情報を取得しようとします。
構文と機能が Java モードとネイティブモードで完全に同じコマンド
次の表に示されている dbx コマンドは、Java モードでネイティブモードの場合と同じ構文を持ち、同じ動作を実行します。
|
|
attach
|
動作中のプロセスに dbx を接続します。プログラムは停止して、デバッグの制御下に置かれます。
|
cont
|
プロセスが実行を再開します。
|
dbxenv
|
dbxenv 変数を一覧表示または設定します。
|
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 コマンド
次の表に示されている 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 モードでのみ有効なコマンド
次の表に示されている dbx コマンドは、Java モードまたは JNI モードでのみ有効です。
|
|
java
|
dbx が JNI モードのときに、指定したコマンドの Java 版を実行するよう指示するときに使用します。
|
jclasses
|
コマンドが入力された時点で dbx が認識しているすべての Java クラス名を表示します。
|
joff
|
Java または JNI モードからネイティブモードに dbx を切り替えます。
|
jon
|
ネイティブモードから Java モードに dbx を切り替えます。
|
jpkgs
|
コマンドが入力された時点で dbx が認識しているすべての Java パッケージ名を表示します。
|
native
|
Java モードのときに、指定したコマンドのネイティブ版を実行するよう指示するときに使用します。
|
|