adb デバッグ・プログラムの開始
この項では、さまざまなファイルから adb デバッグ・プログラムを開始する方法、adb プロンプトを使用する方法、adb プログラム内からシェル・コマンドを使用する方法、 および adb プログラムを停止する方法について説明します。
プログラム・ファイルを指定した adb の開始
ファイル名を指定せずに adb デバッグ・プログラムを開始することができます。 この場合、adb プログラムは、 ユーザーの現在の作業ディレクトリー内でデフォルトの a.out ファイルを検索し、デバッグ用に準備します。 したがって、コマンド
adbは次のように入力するのと同じです。
adb a.outadb プログラムは a.out ファイルを指定して開始し、 コマンドを待ちます。 a.out ファイルが存在しない場合、adb プログラムはファイルなしで開始し、 エラー・メッセージを表示しません。
C コア・イメージ・ファイルを指定した adb の開始
adb デバッグ・プログラムを使用すれば、 リカバリー不能なシステム・エラーの原因となったプログラムのコア・イメージ・ファイルを調べることができます。 コア・イメージ・ファイルは、エラー発生時の CPU レジスター、スタック、およびユーザー・プログラムのメモリー領域の内容の記録を保持しています。 したがって、コア・イメージ・ファイルはエラーの原因を判別する方法を提供します。
コア・イメージ・ファイルを対応するプログラムとともに調べるには、 コアとプログラム・ファイルの両方の名前を指定する必要があります。 コマンド・ラインの形式は次のとおりです。
adb ProgramFile CoreFile
ここで ProgramFile はエラーの原因となったプログラムのファイル名であり、CoreFile はシステムが生成した コア・イメージ・ファイルのファイル名です。 次に、adb プログラムは、 両方のファイルからの情報を使用して、ユーザーのコマンドに対する応答を提供します。
コア・イメージ・ファイルのファイル名を指定しない場合 、adb プログラムは、ユーザーの現在の作業ディレクトリー内で 、core という名前のデフォルトのコア・ファイルを検索します。 このようなファイルが検出された場合、adb プログラムは、 このコア・ファイルが ProgramFile のものかどうかを判別します。 属している場合、adb プログラムは、この コア・ファイルを使用します。 属していない場合、adb プログラムは、 適切なエラー・メッセージを示して、このコア・ファイルを破棄します。
注: adb コマンドは、64 ビット・オブジェクトおよび AIX® 4.3 のコア・フォーマットを調べるために使用することはできません。 adb は、依然として AIX 4.3 より前のコア・フォーマットで作業します。 AIX 4.3 では、smitty を使用すれば、AIX 4.3 より前のスタイルのコア・ダンプをカーネルに生成させることができます。
データ・ファイルを指定した adb の開始
adb プログラムは、 様々なフォーマットおよび構造のファイルの内容を調べる方法を提供します。 プログラムまたはコア・ファイルの代わりにデータ・ファイルの名前を指定して adb プログラムを使用すれば、データ・ファイルを調べることができます。 例えば、outdata という名前のデータ・ファイルを調べるには、次のように入力します。
adb outdataadb プログラムは、outdata という名前のファイルをオープンするので、ユーザーはその内容を調べることができます。 ファイルを調べるこの方法は、ファイルに非 ASCII データが入っている場合に便利です。 adb コマンドは、 ユーザーがプログラム・ファイルの代わりに非 ASCII データ・ファイルの名前を指定すると、 警告を表示する場合があります。 警告は、通常、 データ・ファイルの内容がプログラム・ファイルに似ている場合に表示されます。 データ・ファイルは、コア・ファイルと同様、 実行できません。
書き込みオプションを指定した adb の開始
adb コマンドの -w フラグを指定してプログラムまたはデータ・ファイルをオープンする場合、 ファイルに対して変更および訂正を行うことができます。 例えば、コマンド
adb -w sampleは、プログラム・ファイル sample を書き込み用にオープンします。 次に、adb コマンドを使用して、ファイルを調べて、 変更することができます。 指定したファイルがまだ存在していない場合、-w フラグによって、adb プログラムは、そのファイルを作成します。 このオプションを使用すれば、指定したプログラムを実行した後に、メモリーに直接書き込むこともできます。
プロンプトの使用
adb プログラムを開始した後、$P サブコマンドを使用すれば、プロンプトを再定義することができます。
[adb:scat]>> プロンプトを Enter a debug command—-> に変更するには、次のように入力します。
$P"Enter a debug command--->"adb コマンド・ラインから新規プロンプトを再定義する場合には、 引用符は不要です。
adb プログラム内部からのシェル・コマンドの使用
adb エスケープ・コマンド (!) (感嘆符) を使用すれば、adb プログラムを終了しないまま、 シェル・コマンドを実行することができます。 エスケープ・コマンドの形式は次のとおりです。
! Command
この形式の中で、Command は実行する必要があるシェル・コマンドです。 引数が必要な場合は、コマンドと共に指定する必要があります。 adb プログラムは、このコマンドを、 プログラムの呼び出し元のシステム・シェルに渡します。 コマンドが終了すると、シェルは制御を adb プログラムに戻します。 例えば、日付を表示するには、次のコマンドを入力します。
! dateシステムは日付を表示し、制御を adb プログラムに戻します。
adb デバッグ・プログラムの終了
adb プログラムを停止して、システム・シェルに戻るには、 $q または $Q サブコマンドを使用します。 Ctrl-D キー・シーケンスを入力することによっても、adb プログラムを停止することができます。 割り込みキーまたは終了キーを押しても adb プログラムを停止することはできません。 これらのキーによって、adb は新規コマンドを待ちます。