XcodeによるSwiftプログラミング中級講座

プロファイラによるデバッグの紹介

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Xcodeからプロファイラを使ってアプリを実行し、実行時の様々な状態を確認する方法を紹介します。
講師:
07:04

字幕

このレッスンでは Xcode からプロファイラを使ってアプリを実行して実行時の様々な状態を確認する方法を紹介したいと思います。まずプロファイラを使う前にですね、こちらの Xcode に搭載されているデバッグナビゲータというところを紹介したいと思います。このナビゲータ領域の右から 3 つ目ですね。Show the Debugnavigatorというこの線がいくつか書いてあるこのアイコンですね、これをクリックしてそしてデバッグ実行を行います。そしてこれでシミュレータの上で実行が開始されると、このデバッグナビゲータのところに様々な情報がこうやって表示されます。現在 CPU がどれくらい使われているかとかですね、メモリがどれくらい使われているか、といったことがこれで表示されるわけです。例えばちょっと操作してみますね。Blue Sky をクリックして画像を読み込むと今ここで急にメモリがちょっと ぐん、と上がったのが見えます。同じようにメモをちょっと表示します。ほんの僅かですけど上がりましたかね。で、OK ボタンを押して戻って、更に今度はチェスの画像を表示します。すると、今ちょっと CPU のところも上がりましたけど、こういう風に画像を読み込んだりする度にCPU も使われるし、メモリも使われる、という感じでどのようにこのアプリケーションの実行がこのリソースをですね、コンピュータのリソースを使いながら行われているか、ということがリアルタイムに確認できるようになっています。 ですが、実際にはですね、ここにあるこの情報以外の情報もいろいろ欲しいんですね。因みにこのデバッグナビゲータはCPU とかメモリのところをこうやってクリックすると、実際にどんな感じでこれが上がっていったかとかですね、それが何 MByte だったかとか、そういう情報が細かくこうやってCPU、メモリ、そしてディスク、ネットワークと表示されるようになっています。実際のデバッグをしている時にはですね、このアプリケーションが実行されている時にこのメモリがですね、どんなオブジェクトでこのメモリが使われたのか、ということを知りたい時があります。それが文字列なのか、それとも画像なのか、どんなオブジェクトが作られたんですか、ということをこれに応じて確認したい、という時にはここに表示されている情報だけではちょっと足りないわけですね。で、その時に使うことができるのが、プロファイラと言われるアプリケーションになります。で、一旦このアプリケーションの実行を止めましょう。で、次にプロファイラというものを使ってこのアプリケーションを実行してみたいと思います。プロファイラを使うためにはこのプロダクトの中からプロファイルのメニューを選択します。 因みにこちらはですね、普段のこの実行ボタン、こちらの実行ボタンを長押ししながらプロファイルを選択して、そしてこのプロファイルのボタンを押すことでも実行できます。一回押してみますね。そしてビルドが行われている最中だったので、一回キャンセルしました。ちょっと分かりにくかったのでもう一回戻りますね。プロファイルのボタンを押すとこのようにInstruments という名前のアプリケーションが立ち上がります。これが Xcode に用意されているプロファイラのアプリケーションです。で、これを使ってアプリケーションを立ち上げることで、アプリケーションがどういう状態になったか、ということを克明に記録することができます。例えば Activity Monitorというのをちょっと使ってみましょう。Activity Monitor を使ってこれを選択して、そして Instruments を立ち上げます。このままではアプリケーションはまだ実行されていません。iOS のシミュレータは何も実行されていないままです。で、ここでですね、この録画ボタン、左上に録画ボタンがありますのでこの録画ボタンをクリックすることによって、デバッグ実行が始まります。 そうすると、ここにですね、CPU の使われ方がリアルタイムに表示されます。で、この例えば Blue Sky を読み込んで、Chess を読み込んで、こちらの画像を読み込んで、というのをしていきながら実際にどのようにこの CPU が使われているのか、メモリが使われているのか、ということをリアルタイムに見ることができます。こちらのですね、Instruments の実行、この停止ボタンを押すとまず止まります。で、止まった後でこれがどういう風に動いていたのか、ということをこうやってドラッグ & ドロップでですね、時間を動かしたり、あるいはこの左下のところにゲージを広げたり、縮めたり、というボタンがありますので、これでこうゲージを伸ばしたりしながらここら辺で大体どれくらいのメモリの使用量だったのかな、ということをこんな感じで確認することができるようになっています。この Instruments、切り替えることができますので、一回この赤いボタンを押してですね、Don't Save でもう一度こちらに戻りまして、Xcode に戻ってプロファイルボタンをもう一度押してですね、ここで例えばメモリがどんな風に使われているのか、ということを知りたい、という時には例えば Leaks というのを使うことができます。 Leaks を使って、そしてアプリケーションを実行してやると、このように Allocations というところで、どのようなオブジェクトが、あるいはどのようなデータ構造がここで使われているのか、ということをリアルタイムに取得することができます。実際にこれで Blue Sky をこういう風に読み込んで、次に Chess を読み込んで、ということをしていくと、こんな感じで読み込んだタイミングでリアルタイムにこうやってメモリが上がっていきますので、実際に Allocations の中でどういうタイミングでですね、メモリが確保されているのか、ということを確認できます。こちらは後でこれをこういう風にデバッグの AllocationsList ですかね、例えば。Allocations List で、どういうオブジェクトがここで作られたか、ということを確認することができるんですが、これをですね、ずーとこう見ていくことも出来ますし、ここでですね、こうやってマウスで時間軸を動かしてその時間に何が起こっていたのか、ということを確認することもできます。で、Swift のアプリケーションでは結構少ないので、メモリリークが起きるってことは中々ないんですけど、稀にメモリリークが起こった時なんかはですね、ここに赤い印がぴょこんと出たりしますので、そこにこうやって目盛りを合わせてどのオブジェクトがメモリリークの原因になっていたのかな、ということを調べることができます。 このレッスンでは Xcode からプロファイラを使ってアプリケーションを実行して実行時の様々な状態を確認する方法を紹介しました。

XcodeによるSwiftプログラミング中級講座

このコースではSwiftのプログラミングに慣れてきた方を対象に、より効率的にXcodeを使い、プロジェクトを管理するためのさまざまなテクニックを紹介します。各レッスンではブレークポイントやプロファイラを使った便利なデバッグ方法や、条件に応じてコンパイル対象のコードを書き分けるやり方など実際のアプリ開発で使える実践的なテクニックを解説します。

3時間01分 (27 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年10月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。