有程序的地方就有bug,有bug的地方就需要debug。对于程序员来说,coding的过程便是制造bug和解决bug。Objective定义了不少表达式来协助debug的流程,将这些表达式用在NSLog中,可以简化部分工作,快速定义到debug的部分。 比如以下代码:
- (void) doSomthingMethods{
NSLog(@"\n Function: %s\n Pretty function: %s\n Line: %d\n File: %s\n ",__func__, __PRETTY_FUNCTION__, __LINE__, __FILE__);
}
__func__, __PRETTY_FUNCTION__, __LINE__, __FILE__等都是系统预留的定义词,简单易用。
这里有一个定义较好的宏来调试
#define LZLog(format, ...) do { \
fprintf(stderr, "<%s : %d> %s\n", \
[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], \
__LINE__, __func__); \
(NSLog)((format), ##__VA_ARGS__); \
fprintf(stderr, "-------\n"); \
} while (0)
网友评论