任意タイミングでデバッガに制御を移行
方法は簡単、条件を判断して自分で例外をスローすればいいだけ。
このコードを任意のところに突っ込めばブレークポイントで対処できないや、実行速度の速さが必要なときもデバッグできます。こんな簡単なことに今まで気づいていませんでした…。
これと同じことは、VSでブレークポイントを作ってブレークポイントを右クリックして「条件」というところで条件式をぶち込めばできますが
Keyboard key = Keyboard.GetState(); if (key.IsKeyDown(Keys.LeftAlt) && key.IsKeyDown(Keys.LeftShift) && key.IsKeyDown(Keys.LeftControl) && key.IsKeyDown(Keys.D)) throw new Exception();
このコードを任意のところに突っ込めばブレークポイントで対処できないや、実行速度の速さが必要なときもデバッグできます。こんな簡単なことに今まで気づいていませんでした…。
これと同じことは、VSでブレークポイントを作ってブレークポイントを右クリックして「条件」というところで条件式をぶち込めばできますが
- 実行速度が遅くなる
- 1行しか書けないため変数とかを使って条件を判断するのが困難
[...] ▼任意タイミングでデバッガに制御を移行(Oak Tree) ブレークポイントで対処できない場合のデバッグできるようになるそうです。 [...]
返信削除例外よりも、
返信削除System.Diagnostics.Debugger.Break();
の方が、例外メッセージも出ないので良いですよ。
おお、そんなメソッドがあったんですね。C#は独学で学んだため勉強になります。
返信削除ありがとうございました。