サイトのトップへ戻る

Android Studio ドキュメント 日本語訳

サイト内検索

スタックトレースを分析する

アプリのデバッグをする際には、しばしばスタックトレースを使って作業をする必要があります。 スタックトレースは、アプリがクラッシュした時のエラーや例外が原因で生成されます。 Thread.dumpStack()のようなメソッドを使って、 アプリコード上の任意の位置のスタックトレースを出力することもできます。

接続した端末上やエミュレーター上でアプリをデバッグモードで実行している時、 図 1で示すように、Android StudioはAndroid モニターlogcatビュー 上にスタックトレースを強調表示で出力します。

Android Monitor showing a Stack Trace

図 1。 Android モニター logcat上のスタックトレース。

スタックトレースには、例外は発生したメソッド呼び出しの一覧と、そのファイル名と、呼び出しが発生した行番号が表示されます。 強調表示されたファイル名をクリックしてそのファイルを開き、メソッドの呼び出し元を調べることができます。 logcatウィンドウに表示されているスタックトレースの各行間を素早く移動するには、Up the stack trace Down the stack trace をクリックします。



外部のソースからスタックトレースを開く

時には、デバッグに時にあなたが取得したスタックトレースではなく、第三者から提供されたスタックトレースを分析したいということもあるでしょう。 例えば、あなたはGoogle Play コンソールや その他Firebase Crash Reportingのようなツールを使って、 ユーザーの端末で生成されたスタックトレースを集めているかもしれません。

バグ報告から届いた外部のスタックトレースのビューを強調表示したりクリックできるようにするには、以下の手順に沿って作業します。:

  1. Android Studioでプロジェクトを開きます。

    メモ: あなたが見ているソースコードが、スタックトレースを生成したアプリと全く同じバージョンのものであることを確認してください。 コードのバージョンが異なる場合、ファイル名と行番号、スタックトレースでの呼び出し順とプロジェクトでの呼び出し順が一致しない可能性があります。

  2. Analyze メニューから、 Analyze stacktraceをクリックします。

    Analyze Stacktrace window

  3. スタックトレースのテキストを Analyze Stacktrace ウィンドウに貼り付けして、OKをクリックします。
  4. Android Studio は Runウィンドウの下に、あなたが貼り付けたスタックトレースの情報を持つ<Stacktrace>タブを新たに開きます。

    Stacktrace window



新しいスタックトレースのクリップボードを監視する

大量の外部スタックトレースを使って作業をする場合は、 Android Studioに新たなスタックトレースのシステムクリップボードを監視させ続けることで、 作業効率をあげることができます。:

  1. Analyze Stacktrace ツールを開きます。
  2. Automatically detect and analyze thread dumps copied to the clipboard outside of IntelliJ IDEA チェックボックスにチェックを入れます。
  3. 別のアプリケーション(ウェブブラウザなど)のスタックトレースをこのシステムクリップボードにコピーします。
  4. Android Studio ウィンドウに戻ると、 Analyze Stacktraceに貼り付けなくても、スタックトレースが Runウィンドウの下で自動的に開きます。