我在 Xcode 中有以下日志输出:
2013-05-20 17:23:19.901 MyApp[2408:303] invalid pixel format
2013-05-20 17:23:19.901 MyApp[2408:303] invalid context
问题是我不知道是哪一行代码产生了这些错误。我已经尝试过,但考虑到我的应用程序这一部分的复杂性,这非常乏味。有没有一种快速简单的方法来追踪输出这些的代码行?
我在 Xcode 中有以下日志输出:
2013-05-20 17:23:19.901 MyApp[2408:303] invalid pixel format
2013-05-20 17:23:19.901 MyApp[2408:303] invalid context
问题是我不知道是哪一行代码产生了这些错误。我已经尝试过,但考虑到我的应用程序这一部分的复杂性,这非常乏味。有没有一种快速简单的方法来追踪输出这些的代码行?
是的,有一种方法可以满足您的要求。只需将以下内容添加到您的前缀标头YourAppName-Prefix.pch
中。
#define NSLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
这将使用自定义的 NSLog 覆盖 NSLog,打印如下:
2013-05-20 21:11:10.407 YourAppName[46526:c07] -[JFDepthView initWithGestureRecognizer:] [Line 81] JFDepthView Initialized!
它也应该适用于您添加到项目中的第 3 方库。
来自“C”文档,标准预定义宏 - C 预处理器:
__FILE__
并且__LINE__
在生成错误消息时很有用
NSLog(@"Line: %d", __LINE__);