More ... | Note:デバッグの仕方
ラッピング例 repeat 5
wait 10: gosub *sub
mes cnt
repeat 3
wait 10: mes cnt
loop
loop
stop
*sub
mes rnd(10)
return
このプログラムはバグはありませんが、大量のmes命令が仕込まれています。ここでどのmes命令がどのような順番で実行されているのか調べたい時に、全てのmes命令の前に何かコードを挿入するのは非現実的です。 #define MY_DBG 0 ; 0=OFF / 1=ON
#if MY_DBG
// 既存の命令をラッピング( 例:mesをラッピング )
#undef mes ; mesをHSPから削除
#define mes(%1) mes@hsp ""+__line__+":"+(%1)
#endif
再び実行してみてください。何も変わりませんね。これはラッピングがデバッグフラグMY_DBGでコントロールされているからです。フラグをONにして再び実行してみてください。 |