在iphone应用程序中记录调试信息的最佳方法是什么?

时间:2008-12-10 11:45:21

标签: iphone logging debugging

是否有某种标准方式或是否有人编写了一些内容,允许您记录消息并将其显示在iPhone屏幕上的小型滚动部分或iphone模拟器的单独窗口中?

更新: 对于像我这样不知道的新手,请使用下面描述的NSLog方法,并确保选择Run-> Console来显示控制台。

还是想知道是否有人写过一个显示在iPhone本身上的简单记录器....

5 个答案:

答案 0 :(得分:12)

我没有足够的“声誉”来为您的帖子添加直接评论,但是:不要忘记转到XCode->偏好设置 - >调试 - >开始时:选择显示控制台&调试器

您当然可以选择控制台或其他任何东西,但您可能需要调试器。要使用它,只需单击要中断的行的左侧。您也可以从“激活”切换到“取消激活”,这样您就知道在应用程序开始时不需要点击一堆断点,将调试设置为Deactive(在调试窗口中),然后,在您点击要调试的应用程序中的UI元素之前,将相同的按钮切换为“激活”,以便断点变为活动状态。否则,你当然可以点击继续,直到你到达你的部分。

另外,在NSLog上,如果你开始累积一堆日志语句,并且你需要特别“找到”一个,那么它有助于:NSLog(@“\ n \ n \ nMy语句\ n \ n \ n);这将给出一堆换行符。另外,对于不熟悉的人来说:

NSLog(@"My int: %d my BOOL: %d", myInt, myBOOL);
NSLog(@"My object of any NSObject: %@", anObjectOfAnyKind);
NSLog(@"My float: %f",myFloat);

希望所有这些都有帮助,如果我偏离调试位,我很抱歉;)

答案 1 :(得分:10)

Objective-C(更正确,更真实)的方法是

NSLog(@"message");

但标准C方法也可以使用

printf("message");

答案 2 :(得分:3)

使用NSLog(@“日志消息”);

答案 3 :(得分:2)

如果您的应用程序崩溃,那么您可以向用户询问崩溃日志。崩溃日志包含有关应用程序崩溃时的操作以及堆栈跟踪的信息。

iPhone应用程序日志文件也存储在用户计算机上,并且每次同步iPhone时都会被复制。 (请注意,DEVICE_NAME将与iTunes中的iPhone名称相同,并且每个日志文件都将以应用程序的名称开头。)

Mac OS X:/ Library / Logs / CrashReporter / MobileDevice //

Windows XP:C:\ Documents and Settings \ Application Data \ Apple computer \ Logs \ CrashReporter \

Windows Vista:C:\ Users \ AppData \ Roaming \ Apple computer \ Logs \ CrashReporter \ MobileDevice \

答案 4 :(得分:0)

对于Swift,它只是

print("log msg")