C#では、次のコードを使用して、デバッグビルド時にのみ実行されるコードを作成できます。Xcodeで同じようにするにはどうすればよいですか?
#if DEBUG
{
// etc etc
}
#endif
NDEBUGシンボルは、リリースモードビルドですでに定義されているはずです。
#ifndef NDEBUG
/* Debug only code */
#endif
NDEBUGを使用することで、デバッグビルドのためにコンパイラに-D DEBUG引数を指定する必要がなくなります。
使用できます
#ifdef DEBUG
....
#endif
追加する必要がありますDEBUG=1
は、デバッグ構成の設定でプロジェクトのプリプロセッサシンボル定義に追加します。Xcodeによって自動的に行われるわけではないためです。
個人的にはDEBUG=1
をチェックしていますNDEBUG=0
、後者はデフォルトのビルド設定がデバッグ情報を含むことを意味するため、明示的にオフにする必要があります。一方、「DEBUG = 1」はオンにするデバッグのみのコードを意味します。
DEBUGは、プロジェクト/プリプロセッサマクロの下で、デフォルトで「デバッグモード」で定義されるようになりました。したがって、非常に古いプロジェクトがない限り、テストは常に機能します。
ただし、コードのインデントがめちゃくちゃになり、特にコンパクトではないのが嫌いです。そのため、私は生活を楽にする別のマクロを使用しています。
#ifdef DEBUG
#define DEBUGMODE YES
#else
#define DEBUGMODE NO
#endif
したがって、DEBUGMODE値のテストははるかにコンパクトです。
if (DEBUGMODE) {
//do this
} else {
//do that
}
私のお気に入り:
NSTimeInterval updateInterval = DEBUGMODE?60:3600;
非常に役立つデバッグ技術情報があります:テクニカルノートTN2124 Mac OS Xデバッグマジック http://developer.Apple.com/technotes/tn2004/tn2124.html#SECENV デバッグに役立つ多くの情報が含まれていますあなたのアプリ。
トニー