Androidのデバッグ

<< 目次を表示 >>

ページ位置:  プログラムの動作解析 > ビルドとデバッグ > 動作解析の設定 > デバッグ >

Androidのデバッグ

Androidのデバイスやエミュレータを利用している場合に、そのAndroidアプリケーションをデバッグできます。この場合に、ローカル環境・リモート環境は32ビット環境・64ビット環境のどちらでも実行可能です。

 

 

 

必要なシステム

リモート(デバッグ対象)側の条件は次の通りです。

 

ローカル(デバッグ呼び出し)側の条件は次の通りです。

 

 

動作解析の設定の内容

項目

説明

デバッガ

「Java (JDWP)」 を選択して下さい。

実行

この項目を選択してください。

既定のディレクトリ

これらの情報は参照されませんので、設定不要です。

アプリケーションパス

コマンドラインの引数

実行前にビルド

コンソールを表示

調査用メッセージの表示

追加設定の内容 (Connection)

Port

ADBやその他の手段で、Android上の仮想マシン(VM)に接続するためのポートを指定します。

(参考:Androidのデバッグ)

Host

リモート側のマシンを指定します。 (既定値: localhost )

もし、Androidがネットワークマシン上のエミュレータデバイスで動作している場合には、そのマシン名を指定します。

既定の設定では、Enterprise Architectが実行されているのと同じマシン(localhost)の、指定されたポートに接続します。

Source

Javaのclasspathにあたるディレクトリを指定します。

対象のディレクトリが複数ある場合には、セミコロンで区切って設定します。以下は指定の例です。

 

c:\myapp\src;c:\myserver\src

 

少なくとも1つのディレクトリを指定しなければなりません。

デバッガがブレークポイントに達すると、このSourceとして指定されたパスから、該当のソースファイルを探索します。

Logging

ログ機能を有効にするかどうかを指定します。

設定可能な値は、true,false,1,0,yes,no です。

Output

ログファイルの出力先となるファイルを、フルパスで指定します。

指定されたディレクトリが実行時に存在しない場合には、ログファイルは出力されません。

このログファイルには、通常はデバッガとVMの間でやりとりされるバイトコードが含まれます。

Platform

Androidのシナリオで動作している場合には、android を指定します。それ以外の場合には Java を指定します。

 

 

デバッグのためのポート設定 - ポート転送 (ローカルマシンでのデバッグの場合)

Enterprise Architectのデバッガは、同時に1つのVMのみがデバッグできます。また、VMとの通信のために、1つのポートを利用します。デバッグするアプリケーションとの通信ポートは、ADBを利用して設定できます。

 

デバッグ前に、対象のデバイスで一度アプリケーションを実行しておきます。アプリケーションを実行したら、次のコマンドを実行してプロセスIDを調べます。

 

adb jdwp

 

表示される最後の番号が、最後に実行したアプリケーションのプロセスのIDです。次のように、このプロセスIDをデバッガがVMに接続するために利用します。

 

 

 

デバッグのためのポート設定 - ポート転送 (リモートデバッグの場合)

基本的には、ローカルマシンでのデバッグの場合と同様の手順になります。ただし、上記の adb のfowardコマンドがローカルマシンのポートのみがリッスン対象として指定可能なため、転送設定を実行すると接続が拒否された旨のエラーが表示されます。

 

そのため、リモートデバッグを実現するためには、ローカルマシンの特定のポートとリモートマシンのポート間を転送するためのポート転送ツールが必要になります。このポート転送を実現するツールには、有料・無料を含めてさまざまなツールがあります。

 

このポート転送のツールを活用しないと、リモート環境に対するデバッグは実現できません。