デバッグモードでアプリが落ちる(クラッシュする)ときのよくある原因と対策方法 | Androidアプリ開発

先日、デバッグモードでのみアプリが落ちる(クラッシュする)現象に遭遇しました。
いろいろ調べた結果、原因がわかったのですが、記事にまとめておこうと思います。

今後、同様にデバッグモードでアプリが落ちる現象に遭遇したらどんどん追記していこうと思います。
スポンサーリンク


ネストされた関数にブレークポイントを設定している

ネストされた関数にブレークポイントを設定している場合に、
デバッグモードで起動するとクラッシュします。

例えば、以下にようにGUIスレッド上で処理を行うようなコードがあったとします。
public void test() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            int i = 1;
            i++; // <-ここにブレークポイントを設定するとクラッシュするよ!
        }
    }
}
このように場合に「i++」のコードはネストされた関数内のコードであり、
ここにブレークポイントを設定し、デバッグモードで起動するとクラッシュします。