Android Studio最速入門~効率的にコーディングするための使い方

第39回 デバッガについて

この記事を読むのに必要な時間:およそ 8 分

はじめに

前回に引き続いて実行構成の話です。今回はデバッガについて説明します。とあるテスト駆動開発(TDD)の流派ではデバッガを使うことは死を意味すると言いますが,IDEを使っていてデバッガを使わないのは,IDEの機能の1/3くらいを捨てているようなものだと思っています。

デバッガに関してはちょうどEclipse向きのすばらしいスライドがありますので,これをベースにAndroid Studioではどうなのか?という視点で進めていきます。

Eclipseデバッガを活用するための31のTips
@kompiroさん,ありがとうございました。

デバッガの基礎

Android Studioのデバッガの基本的な使い方を紹介します。説明の都合上「Android Application」の実行構成を例に進めていきます。

デバッガを使うには

まずはブレイクポイントを設定します。Javaのソースコードをエディタで開き,ブレイクポイントを設定したい行の左端ガーターエリアをクリックします。

図1 ブレイクポイントの設置

図1 ブレイクポイントの設置

※ もう一度クリックするとブレイクポイントを解除します。

たいていのAndroidアプリケーションは実行すると所定のアクティビティで待機状態になるため,デバッガ実行後にブレイクポイントを設定しても間に合います。Androidテストのように実行したら待機せずに順次実行してしまう場合は,デバッガ実行まえにブレイクポイントを設定しておきましょう。

実行構成をデバッガモードで実行してアプリケーションのデバッグを行います。カレントの実行構成をデバッガモードで実行するには,メニューバーの「Run」メニュー,またはツールバーにある Debug」を実行します。

通常実行時と異なり「Debugツールウィンドウ」が表示されます。このツールウィンドウがいわゆるデバッガになります。指定したブレイクポイントまでプログラムが実行されると「Debugツールウィンドウ」にその情報が表示されます。

Debugツールウィンドウについて

「Debugツールウィンドウ」図2のようなペイン(タブ)で構成されています。

図2 「Debugツールウィンドウ」

図2 「Debugツールウィンドウ」

前回紹介した「Androidツールウィンドウ」のようにレイアウトを自由に変更することができます。ツールバーある(「Androidツールウィンドウ」には無かった) Restore Layout」アイコンを押すとレイアウトが復元されるので,臆せずいろいろ試してみてください。

実行中のオブジェクトの値をみる

ブレイクポイントで停止すると「Variablesペイン」にその場で参照可能なオブジェクトが一覧表示されます。

図3 「Variablesペイン」

図3 「Variablesペイン」

「Variablesペイン」から特定のオブジェクトを選択し,コンテキストメニューから"Inspect"を実行すると,そのオブジェクトのみを切り出した「Inspectポップアップ」が表示されます。一時的に特定のオブジェクトを掘り下げて覗いてみたい時に便利です。

図4 「Inspectポップアップ」

図4 「Inspectポップアップ」

また,エディタ上で「Variablesタブ」にリストアップされているオブジェクト(変数や引数)に対応する対象にマウスカーソルをあてると図5のように,オブジェクトの値がポップアップされます。

図5 エディタ上で変数の内容を参照する

図5 エディタ上で変数の内容を参照する

さらに,そのポップアップをクリックすると図6のようなインスペクション画面に切り替わります。使いようによっては,先ほどの「Inspectポップアップ」より便利です。

図6 さらにポップアップをクリックするとインスペクション画面に切り替わる

図6 さらにポップアップをクリックするとインスペクション画面に切り替わる

「Variablesペイン」には主に変数や引数がリストアップされます。それらオブジェクトの特定のメンバや,オブジェクトを組み合わせた式の結果を参照したい場合は「ウォッチ式」を用います。「Variablesペイン」上の任意のオブジェクト,またはエディタ上で(式として評価可能な)任意の範囲を選択中にコンテキストメニューから"Add to Watches"を実行すると,オブジェクトや式が「Watchesペイン」に表示されます。

図7 ウォッチ式の追加

図7 ウォッチ式の追加

「ウォッチ式」と呼ぶだけあって「Watchesタブ」には式が書けます。

「Watchesペイン」上の「+」アイコンからもウォッチ式を追加することができます。この場合「Watchesペイン」上に空欄ができあがりますので,そこに任意のウォッチ式を記述します。

図8 「Watchesペイン」から直接ウォッチ式を記述する

図8 「Watchesペイン」から直接ウォッチ式を記述する

意外かも知れませんが,ウォッチ式はコード補完が可能です。「+」アイコンによる新規入力時だけではなく,既存のウォッチ式の編集時もコード補完ができます。

先ほど紹介したエディタ上でのオブジェクトの値参照の延長線上にある操作なのですが,ALT(opt)キーを押しながらエディタ上にマウスカーソルを置くと,マウスカーソルの位置に応じて参照可能な領域に下線が引かれます。

利用者が望む領域に下線が引かれたなら,それをクリックすると図9のようにインスペクション画面が表示されます(プリミティブ型の場合,ツールチップとして表示されます)。

図9 ALT(opt)キーを押しながらマウスオーバーする(クリックすると動きがわかります)

(opt)キーを押しながらマウスオーバーする` &title=`図9 ALT(opt)キーを押しながらマウスオーバーする` &width=`400` />

マウスカーソルの移動による下線の設定がうまくいかずイライラする場合は,評価したい範囲を選択してからALT(opt)キーをクリックしても良いです。

図10 任意の領域を指定してALT+マウスクリックしても良い

図10 任意の領域を指定してALT+マウスクリックしても良い

個人的には自動的にポップアップする方法より,こちらの方が便利だと思っています。なお,この操作のモディファイアキーを他のキーに変更する事はできません。

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。

Android開発はまったくやったことがないけれどIntelliJ IDEAが大好き。

Twitter: @masanobuimai

コメント

コメントの記入