2011年4月20日水曜日

[雑談]ちょっとしたデバッグお役立ち機能

使用さている方も多いと思いますが、XNA(というか.Net)でデバッグするときに DebuggerDisplay属性が結構便利です。たしかXNA3.1ぐらいまではXBox版ビルドではこのデバッグ属性は使えなかったのですが、XNA4.0からはXBox版ビルドでも使えるようです。
すでにご存じの方はスルーしてください。


仮に以下のScoreクラスを配列で持ってる場合、ウォッチウィンドウに表示すると以下のようになります。構造体の中身が見れないので、1個ずつツリーを開いて値を確認しないといけないので非常にメンドクサイです。
   1:      class Score
   2:      {
   3:          /// <summary>
   4:          /// ユーザー名
   5:          /// </summary>
   6:          internal string Name { get; set; }
   7:   
   8:          /// <summary>
   9:          /// 得点
  10:          /// </summary>
  11:          internal uint Value { get; set; }
  12:   
  13:          internal Score()
  14:          {
  15:              Name = "";
  16:              Value = 0;
  17:          }
  18:      }



UROBOROSXNA_20110420_01

こんな風にDebuggerDisplay属性をつけてあげると、ウォッチウィンドウは以下のようになります…。

   1:      [DebuggerDisplay("Name={Name}, Score={Value}")]
   2:      class Score
   3:      {
   4:          // 上とおなじ内容なので省略
   5:      }


ツリーを開かなくても、NameやValueプロパティが表示されるようになって便利です。配列データをデバッグするときにはかなり重宝する機能です。

UROBOROSXNA_20110420_02


このあたりを参照されますと、すこし幸せになれるかもしれません。

0 件のコメント:

コメントを投稿