忍者ブログ
  • 2024.04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/03 01:51 】 |
デバッグコードの実行時有効化に便利なマクロ
何らかの変数の中身を出力するデバッグコードがあるとする。
Objective-Cでいうと、NSObject の description()関数のような。
毎フレーム出していると、他の出力が流れてしまうため、特定のタイミングでだけ出したい、ということが良くある。

そういうことがすぐできるマクロを用意した。


#define DEBUG_EVERYTIME_BEGIN(b) \
do { \
static bool b = 0; \
if (b) {

#define DEBUG_EVERYTIME_END() \
}\
} while(0)


一回だけ実行したいときはこっち。

#define DEBUG_ONETIME_BEGIN(b) \
do { \
static bool b = 0; \
if (b) {

#define DEBUG_ONETIME_END() \
}\
b = 0; \
} while(0)



使用例はこうなる。

DEBUG_ONETIME_BEGIN(b);
doSomeDebug();
DEBUG_ONETIME_END();



応用して、ヒットカウントが特定の回数のときだけ実行とか、
ある変数を監視しておいて、特定の値のときだけ実行とかが考えられる。

当然、リリースビルドのときにはデバッグコードが消えるようにしておきたいのだが、
その方法がまだ思いつかない。
PR
【2011/01/29 14:53 】 | 自作エンジン | 有り難いご意見(0) | トラックバック()
<<Inputクラス・実装 | ホーム | 可変引数とPOD>>
有り難いご意見
貴重なご意見の投稿














虎カムバック
トラックバックURL

<<前ページ | ホーム | 次ページ>>