適用範囲:DS-5
DS-5はAndroid Software Development Kit(SDK)およびNative Development Kit(NDK)とともに使用可能です。
Android SDKおよびNDKのインストールについては以下を参照してください: http://developer.android.com/index.html
両方の開発キットはスタートアップのサンプルを含んでいます。
一度デバイス上でAndroidアプリケーションを動作させれば、gdbserverをプロセスに対してアタッチし、DS-5 Debuggerを使ってnativeコードのデバッグが開始できます。
DS-5 Debuggerでのデバッグは以下の手順で行います:
- Android SDKおよびNDKをインストールします
- デバッグしたいnativeコードをデバッグシンボル情報つきでビルドします
- デバイス上でJavaアプリケーションのデバッグを開始します
- デバッガが動作しているコンピュータにターゲット上の/system/bin/app_processのコピーをアップロードします。このファイルはターゲットシステムでどの共有ライブラリがロードされているかを見つけるためにデバッガが後で必要とします。ファイルの転送にはAndroid SDK内で供給されているadbツールを使うことができます。
- デバイスへのshellをオープンし(これは先ほど同様adbで行います)デバッグしたいアプリケーションのプロセスIDを決定します。
- gdbserverをプロセスにアタッチします。例:gdbserver --attach :port pid
- app_processに対するシンボルをロードするためDS-5のデバッグコネクションを設定し、共有ライブラリのサーチパス(デバッグシンボルを含むホスト上のライブラリの場所)をセットし、デバッガをconnect onlyに設定します。
- DS-5 Debuggerをgdbserverに接続します。(android emulator上では、adbツールを使ってデバッグするポートをフォワードできます。このケースでは、localhostのIPアドレスに対してデバッガを接続します)
- 以上で、2つのデバッグコネクションが生成され、1つはJavaデバッグコネクション、もう1つは同一のプロセスにアタッチされたDS-5の接続となります。
Androidファイルシステムのデフォルトとして現在供給されているgdbserver 6.6は多重スレッドのアプリケーションのデバッグのサポートには不十分です。多重スレッドを含むアプリケーションを含む場合、gdbserverを新しいバージョンのものにアップグレードする必要があります。
以下も参照してください。
DS-5はAndroidをデバッグできますか