4

Androidアプリをデバッグするためにemacsを設定しています。私の問題は、jdb を DDMS にアタッチしているため、適切なクラスパスを設定できないことです (-classpath と -attach を一緒に設定しようとすると、jdb が起動しません)。そのため、jdb は実質的にブラインドです。クラスのエントリ ポイントがなく、インタラクティブなデバッグもありません。デバッガーを ddms に接続するときにクラスパスを指定するにはどうすればよいですか?

4

1 に答える 1

3

JDB の man ページによると、「-classpath」は「Debuggee プロセスに転送されるオプション」の中にあります。言い換えれば、それは jdb に何かを見つける場所を伝えるのではなく、デバッグ中のアプリケーションに何かを見つける場所を伝えます。

実行中のプロセスに接続しているため、これは意味がありません。

プロセスのデバッグに必要なすべての情報は、デバイス上の DEX ファイルに保存されます。jdb で遊ぶためにホスト側の jar/dex ファイルは必要ありません。機能しないのは「リスト」だけですが、emacs を使用している場合は、おそらくそれは必要ありません。

jdb を使用して、あらゆる種類のデバッグ タスクを実行することに成功しました。私が最もよく忘れているのは、完全修飾クラス名を指定する必要があることです (例: String ではなく java.lang.String)。これを行ってもまだエラーが発生する場合は、jdb デバッグ セッションの例をここに貼り付けてください。

于 2010-11-12T23:03:25.480 に答える