LoginSignup
11
14

More than 5 years have passed since last update.

Android Studio Debugger のアタッチ方法いろいろ

Posted at

デバッグ実行

image

左から2つめの虫のアイコンです.
いわずもがな,デバッグ状態でアプリを実行します.

プロセスにアタッチ

実行中のアプリに途中からアタッチすることもできます.

image

このアイコン群の右端を押すと

image

とアタッチ可能なプロセス一覧が表示されるので,アタッチしたいプロセスを選択します.

任意の場所で確実にアタッチしたい

デバッグ実行はアプリケーション開始から行われるし,プロセスへのアタッチもタイミングが確実じゃないので,ちょっと使いにくい時.

ユースケース

ユースケースは…あまり無いかもしれないけど,たとえば

  • zipの展開処理のような重い処理
    • デバッガをアタッチし続けていると重くてzip展開が遅くなる
  • 展開処理終了直後の行でブレークさせたい
    • 展開処理が95%くらいになったらアタッチ…?
    • タイミングミスったらハジメカラ

とか,

  • アプリケーション再起動後のonCreateでシングルトンインスタンスを確認したい
    • デバッグ実行するとプロセスそのものが再起動されてシングルトンインスタンスがクリアされる
    • アタッチするにもonCreate()ではアタッチ操作間に合わない

できれば,ブレークさせたい直前で確実にデバッガをアタッチしたい…

できます :muscle:

Debug.waitForDebugger()Debug.waitingForDebugger()ではない) をブレークしたい行の上において実行すると,デバッガが接続されるまでこの行で止まってくれます.
デバッガが接続されると処理が進み,ブレークポイントで止まるはずです.
(debuggable true が必要かもしれません)

ほかにも何か方法があれば教えてください :dog:

11
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
14