UBオブジェクト開発講座(5) オブジェクトのデバッグ方法

第5回UBオブジェクト開発講座は、これがなくては話にならない!と言っても過言ではないオブジェクトのデバッグ方法についてです。実際のところ、誰でも誤りのないソースコードを書けるわけはないし、考えるだけで間違いを発見できるわけでもないですからね。そこで登場するのが、デバッガ。Xcodeのデバッガは優秀ですから、スイスイと作業が進みますよ。例によって、以下は「Debugging Your Object in Xcode」の抄訳というか、簡略&補足版です。

Step 1: プロジェクト・メニューの「アクティブなビルド構成を設定」から「Development」を選ぶ。

Step 2: プロジェクト・ウィンドウの「ビルド」ボタンをクリックして、ビルドを行う。プロジェクト・フォルダのbuildフォルダに作られるDevelopmentフォルダにオブジェクト・ファイルが生成される。

Step 3: デバッグを行うためのパッチ・ファイルをMaxMSPアプリケーションで作成する。パッチができれば、それをDevelopmentフォルダに保存して、MaxMSPアプリケーションを終了する。
補足:MaxMSPアプリケーションではコピー・プロテクションのためにデバッグできない。デバッグにはランタイム版であるMaxMSP Runtimeアプリケーションを用いる。

Step 4: Xocdeでプロジェクト・ファイルを開き、プロジェクト・メニューから「新規カスタム実行可能ファイル…」を選ぶ。

Step 5: アシスタンス・ウィンドウが現れるので、「実行可能ファイル名」の覧に「MaxMSP Runtime」と入力する(任意の名前で構わない)。

Step 6: 「実行可能ファイルのパス」の「選択…」ボタンをクリックし、ファイル選択ダイアログでMaxMSP Runtimeアプリケーションを選択する。

Step 7: 「プロジェクトに追加」のポップアップ・メニューに自分のプロジェクト(デバッグするプロジェクト)の名前が表示されていることを確認して、「完了」ボタンをクリックする。

Step 8: ソースコードにブレークポイントを設定する。ソースコードの左側に表示される行番号をクリックすれば、その行にブレークポイントが設定され、黒いマークが表示される。
補足:ブレークポイント・マークをドラッグして、任意の行にブレークポイントを移動することができる。黒いマークをクリックすると、灰色に代わり、ブレークポイントが無効になる。もう一度クリックすると黒色に変わり、ブレークポイントが有効になる。ブレークポイントを削除するには、マークを行番号のエリア外にドラッグして、マウスボタンを離せば良い。

Step 9: デバッグ・メニューから「デバッガ」を選び、デバッガ・ウィンドウを開く。

Step 10: デバッガ・ウィンドウの「デバッグ」ボタンをクリックする。デバッガが起動し、デバッガがMaxMSP Runtimeアプリケーションを自動的に起動する。

Step 11: MaxMSP Runtimeアプリケーションから、デバッグ用のパッチ・ファイルを開く。
補足:MaxMSP Runtimeアプリケーションのサーチ・パスにデバッグしたいオブジェクト・ファイルが存在しなければならない。先に述べたようにDevelopmentフォルダにオブジェクト・ファイルとデバッグ用のパッチ・ファイルを作成し、そのパッチ・ファイルを開けば良い。

Step 12: パッチ・ファイルが開き、ブレークポイントを設定した箇所までオブジェクトが実行されると、実行が一時停止される。デバッガ・ウィンドウが前面に現れ、ソースコードのブレークポイントが表示される。

Step 13: デバッグ作業が終われば、MaxMSP Runtimeアプリケーションを終了する。これでデバッガも自動的に終了する。
補足:クラッシュなどでMaxMSP Runtimeアプリケーションを終了できない場合は、デバッガ・ウィンドウの「終了」ボタンをクリックすれば、強制的にMaxMSP Runtimeアプリケーションを終了させ、デバッガを終了させることができる。

実際のデバッグ作業としては、デバッガ・ウィンドウで変数の値を確認したり、「ステップオーバー」などのボタンをクリックして、プログラムの実行を一行ずつ進めたりすることになります。このあたりは、一般的なデバッグ方法ですので、ここでは省略します。Xcode関係の適当なプログラミング入門書を参考にしてください。

なお、グローバル変数はデフォルトでは表示されませんが、変数欄の「Globals」をクリックすると、グローバル・ブラウザが開き、ライブラリのリストから自分のユーザ名を選ぶと、オブジェクトで使用しているグローバル変数が表示されます。このグローバル変数の表示にチェックを入れると、その変数が表示されます。

それから、デバッガってなんとなく怖いって人は、ソースコードにpost()文を入れまくるという古典的な方法もありますね。でも、そっちのほうが面倒に思えるくらい、Xcodeのデバッガはスマートですから、是非使ってみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA