有没有一种方法来告诉什么行代码产生日志输出,而不使用断点和步进Xcode (iOS)



我在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!

它也应该适用于您添加到项目中的第三方库。

来自"C"文档,标准预定义宏- C预处理器:

__FILE____LINE__用于生成错误消息

NSLog(@"Line: %d", __LINE__);

最新更新