2014-10-31 28 views
0

我的應用程序經常收到內存警告和崩潰,我啓用了NSLog語句並通過XCode 6.1運行它。它通過禁用NSLog語句在發佈模式下正常工作。我無法使用儀器記憶應用程序的配置文件,因爲即使儀器在啓用NSLog語句的情況下運行時也會掛起。啓用NSLog時發生內存警告時出現應用程序崩潰

有沒有人遇到過這個問題並知道解決方法?

這是我如何定義一個宏,以在DEBUG模式下運行時啓用日誌。

#ifdef DEBUG 
#define MYLOG(...) NSLog(__VA_ARGS__) 

....

MYLOG(@"Log something"); 
+1

也許你的'NSLog'語句記錄大對象或引起參考週期。 – rmaddy 2014-10-31 04:02:52

+0

嗨@rmaddy NSLog如何引起引用(保留)循環? – Abhinav 2014-10-31 04:16:44

+0

這是不可能的,但也許它可能取決於如何完成日誌記錄或實現對象的「描述」方法。 – rmaddy 2014-10-31 04:25:53

回答

0

發現此問題。這不是NSLog。應用程序僅在調試模式下崩潰,這是因爲NSZombie已啓用。一旦我禁用NSZombie,它的工作!

0

我使用以下命令,它工作正常的我。

#ifdef DEBUG 
#define MYLOG(format, ...) NSLog(format, ##__VA_ARGS__) 
#else 
#define MYLOG(...) 
#endif