ラベル デバッグ の投稿を表示しています。 すべての投稿を表示
ラベル デバッグ の投稿を表示しています。 すべての投稿を表示

2011年2月28日月曜日

debugビルド以外NSLogを出さない

プロジェクトのOther Sourcesフォルダ内のアプリ名_Prefix.pchに以下を追加。
これを使うにはプリプロセッサにDEBUGを追加する必要あり詳しくはこっち
// Debbugログ出力切り替え
#ifdef DEBUG
# define NSLog(...) NSLog(__VA_ARGS__)
#else
# define NSLog(...) {}
#endif

2011年2月22日火曜日

releaseとdebugで処理を変える

*前準備
Xcode上の左グループとファイル内の最上位にあるプロジェクト名のファイルをクリック
→情報→ビルドタブ→GCC 4.2 - プリプロセス項目内のプリプロセッサマクロに
DEBUGと追加

クラス(どれでもいい)に下記を書くことで処理を分けられる
#ifdef DEBUG
NSLog(@"debugはこっちを通る");
#else
NSLog(@"release,distributionはこっちを通る");
#endif

2010年11月9日火曜日

性能測定を行うマクロ

hファイルに以下を定義
#define BM_START(name) NSDate *name##_start = [NSDate new]
#define BM_END(name) NSDate *name##_end = [NSDate new];\
NSLog(@"%s interval: %f", #name, [name##_end timeIntervalSinceDate:name##_start]);\
[name##_start release];[name##_end release]

計測したい箇所に下記を記入。
BM_START(name);
/* 計測したい箇所 */
BM_END(name);

コンソールにname部分に入れた名前で秒数が表示される。
シミュレータと実機で計測結果は異なるのでなるべく実機で計測する。

*参考記事*
Objective-Cでちょっとした性能測定を行うマクロ

2010年10月28日木曜日

CGRect等のログ表示

//CGRect
NSLog(@"%@",NSStringFromCGRect(testrect));
//CGSize
NSLog(@"%@",NSStringFromCGSize(testsize));
//CGPoint
NSLog(@"%@",NSStringFromCGPoint(testpoint));

2010年10月8日金曜日

デバッグ

・メニュー[実行]→Objective-C例外時に停止にチェックを入れる
>デバッガでブレークポイントが貼られ、停止するらしい

・実行可能ファイル→情報の引数タブ「環境に設定される変数」に
下の3つを追加
NSZombieEnabled → YES
NSDebugEnabled → YES
MallocStackLogging → YES
>コンソールに詳しく止まった原因が出るらしい