MRが楽しい

MRやVRについて学習したことを書き残す

Riderを使ってUnityエディターで動作中のソースコードを分析する

本日はRiderのの小ネタ枠です。
Riderを使ってUnityエディターで動作中のソースコードを分析する方法です。

Riderの環境構築

JetBrains Rider の環境構築手順は以下を参照ください。
bluebirdofoz.hatenablog.com

デバッグモードを有効にする

Riderでソースコードデバッグを行うにはエディターの[Debug]を押下します。

デバッグモードを無効にしている場合、以下のデバッグモードを有効化するダイアログが表示されます。

Enable debuggin for this session :そのセッションのみデバッグモードが有効になります。
Enable debugging for all projects:Unity の設定が変更され、全てのプロジェクトでデバッグモードが有効になります。

デバッグモードを有効にしてUniyエディターの[再生]ボタンを押下するとデバッグが開始します。

任意のコードで処理を停止する

特定のコード行で処理を停止したい場合はブレークポイントを設定します。
停止したいコード行の左部分をクリックすると、その箇所がブレークポイントに設定されて赤丸のアイコンが追加されます。

この状態でデバッグを実行すると、ブレークポイントに処理が到達した時点で処理が一時的に停止します。
このときの各変数の値を確認してコード上の問題点を分析することができます。再度動かしたい場合は[再開]ボタンを押すか[F5]キーを押します。

設定したブレークポイントは[ブレークポイントの表示]ボタンをクリックすると、ダイアログが表示されて確認することができます。
また本ダイアログではブレークポイントごとの動作を設定できます。

全てのブレークポイントを一時的に無効化したい場合は[ブレークポイントのミュート]を有効にするとブレークポイントで停止しなくなります。

1行ずつ実行する

コードを1行ずつ実行したい場合は、ブレークポイントや停止ボタンで処理を停止した後にステップオーバーを利用します。
エディター上の[ステップオーバー]ボタンを押すか[F10]キーを押すことで1行ずつ処理が進みます。

またステップツールはいくつかの種類の動作を選択できます。

名称 動作
ステップオーバー 現在のメソッドまたはファイルの次の行まで処理が実行されます
ステップイン 現在の行から呼び出される関数の最初のステップにポインターが移動します
ステップアウト 現在のメソッドから抜け出して直後に実行される行まで処理が実行されます

参考ページ

pleiades.io