<< 目次を表示 >> ページ位置: プログラムの動作解析 > ビルドとデバッグ > 動作解析の設定 > デバッグ > 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コマンドがローカルマシンのポートのみがリッスン対象として指定可能なため、転送設定を実行すると接続が拒否された旨のエラーが表示されます。
そのため、リモートデバッグを実現するためには、ローカルマシンの特定のポートとリモートマシンのポート間を転送するためのポート転送ツールが必要になります。このポート転送を実現するツールには、有料・無料を含めてさまざまなツールがあります。
このポート転送のツールを活用しないと、リモート環境に対するデバッグは実現できません。