0

重複の可能性:
メソッド名と行番号を出力し、条件付きでNSLogを無効にする方法は?
Objective-Cでマクロを使用して関数名と行番号をログに記録する

質問

どのプリプロセッサディレクティブまたは関数呼び出しが、現在呼び出されているメソッド、またはファイルで実行されている行番号を識別するのに役立ちますか?

バックグラウンド

無限ループを追跡するための簡単なマクロを作成しようとしています。変更せずにコピーして貼り付けることができ、現在のファイル名と行番号、または現在のクラスとメソッド名をNSLogするものが必要です。どのループが無限であるかを識別するため。

4

2 に答える 2

3

ここに、便利なコードの一部があります。

#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
于 2012-06-15T14:49:15.263 に答える
0

Xcodeに組み込まれている静的分析を使い続ける方がよい場合があります。これを実行すると、未使用の変数、デッドストア、およびほとんどの場合無限ループが判別されます。コンパイラーはコードの可能な使用法をより認識しているので、これはおそらく独自のカスタム実装を作成するよりも優れた仕事をするだろうと思います。

于 2012-06-15T14:51:54.587 に答える