(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


Riderならブレークポイントに条件や依存先を設定するのも簡単【Unity】【エディタ】【JetBrains Rider】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2021.1.23f1
JetBrains Rider 2020.3.4


はじめに

Unityでも使える便利なエディタにRiderというものがあるのですが、



今回はそのRider上でブレークポイントの操作をしてみようという感じの記事です!

f:id:kan_kikuchi:20211011155230j:plain


なお、Riderでは指定した行に来たら処理を停止するいわゆる普通のブレークポイントはもちろん、

一定の条件の時にしか止まらない物や他のブレークポイントに依存する物も簡単に設定できます。

f:id:kan_kikuchi:20211011160123j:plain



ブレークポイントの基本設定

さっそくですがブレークポイントはコードの左側をクリックして赤丸を付ける事で設定出来ます。

ちなみに何もコード(空行?)がない所にはブレークポイントを設定する事は出来ません。

f:id:kan_kikuchi:20211009105926g:plain


ブレークポイントを設定したら右上の虫マークを押してデバックモードを有効にし、

(デバックモードをやめる時はその隣の四角マークを押す)

f:id:kan_kikuchi:20211009111339j:plain


Unityエディタを再生すると該当箇所で止まるようになります。

f:id:kan_kikuchi:20211011155230j:plain



条件付きブレークポイント

例えば以下のように経過時間を計測するコードがあった時に

指定の秒数以降にブレークポイントを有効にしたいとします。

//経過時間
private float _time = 0;

private void Update() {
  //経過時間をどんどん加算してログを出す
  _time += Time.deltaTime;
  Debug.Log($"time : {_time}");
}


そんな時はブレークポイントを右クリックし、

「条件」に条件式を書くとその式がtrueの時だけ止まるようになります。

f:id:kan_kikuchi:20211011160123j:plain


ちなみに条件があるブレークポイントには?が付きます。

f:id:kan_kikuchi:20211011160133j:plain


実際に試してみると以下のような感じに。

ちなみにブレークポイントで止まった時には各変数の値も確認できます。(条件付きでなくて確認可)

f:id:kan_kikuchi:20211011173410j:plain



依存ブレークポイント

特定のブレークポイントを先に通過した時のみ有効にしたいブレークポイントがある場合は、

ブレークポイントを右クリックすると出てくる「続き」を押し、

f:id:kan_kikuchi:20211011175305j:plain


「Disable until hitting ~~」という所で依存先を指定する事が可能です。

f:id:kan_kikuchi:20211011175318j:plain


ちなみに依存するブレークポイントは輪っかのような形で表示されます。

f:id:kan_kikuchi:20211011175334j:plain