ブレークポイントでスクリプトの不具合(バグ)解決の糸口を見つけよう

うあ"ぁ"ーーーーッ!!
そっ

そめ先生ェ バグが出るからって
発狂しないでくださいっす!
ハアハア……スマンな……


と暴れていたところ、世の中にはブレークポイントという便利な(デバッグの基本である)機能があるらしい。いや~知ってた知ってた、アレね、スクリプトエディタ上で赤いマルつけるやつね。


赤いマルをつけるやつがブレークポイントである

ブレークポイントは「Unityを再生中、設置した行に処理が来たら再生を一時的にストップさせる」というものである。その処理が行われていて不具合が起きているのか、処理が行われておらずに不具合が起きているのかを判別できる。さらにストップさせた瞬間の変数の値を確認することもできるようになっている。

最初は何がなんだかわからないかもしれないが、スクリプトの不具合で詰まってしまうと、試験終了チャイム直前まで問題を解いている受験生のような必死こいた気分で解決しなければならなくなる。そんなときはこのブレークポイントが解決の糸口になってくれるはずだ。

慣れてくると「特定の変数が○○以上になったらストップさせる」といった条件ストップの機能も設定できる。ときどき移動スピードが異常に早くなる、ボタンを連打していると変数がおかしくなる……といった不具合が起きるときに、不具合が起きた瞬間にストップさせることができるわけだ。

Visual Studioでのブレークポイント

ここで解説されているっす
Microsoft先生ェ……!
公式ありがとうございます……!



Visual Studio。そめ先生の環境(Visual Studio Professional 2017)では、インストールするときにUnityをチェックしたのでこうなっているが、バージョンによって違うかも……。もしやり方が違うっぽいようならTwitterかそめ先生フォームから教えてくれぃ


Visual Studioでのブレークポイント活用の一例。プレイヤーがジャンプしたら強制ストップするようにしている

Mono Developでのブレークポイント

ここで解説されているっす
phi先生ェ……!
ありがとうございます……!
条件ストップはここにやり方が
書いてあるっす
tsubaki先生ェ……!
ありがとうございます……!



MonoDevelopは左上の方にある再生ボタン(停止ボタン)でUnityとの同期や同期解除を行う


MonoDevelopでのブレークポイント活用の一例。同じくプレイヤーがジャンプしたら強制ストップするようにしている


上のリンク先にも書いてあるが、MonoDevelopの場合は初めにUnityと同期させなくてはならない。MonoDevelop上部メニューの Run → Attach to Process からも簡単に設定できる

MonoDevelopとVisual Studioを
両方解説してくのツライわ~
片方だけでいいんじゃないっすか?
日本語化パックもあるし
もうVisual Studioだけでいいような
試しにアンケートしてみたら
どうっすか?
うーむ アンケート集計できるほど
情報が集まるかわからないけど
やってみようかな……


そんなわけでVisual StudioとMonoDevelop、どちらを使っているかのアンケートを作ってみた。Visual Studio派とMonoDevelop派の仁義なき戦いが中高生ではどのような戦況か調査するため、Unityインターハイ参加者(中高生)のみお答えいただきたい!アンケートの回答はこちらのページから!