Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iphone应用程序中记录调试信息的最佳方式是什么?_Iphone_Logging_Debugging - Fatal编程技术网

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

在iphone应用程序中记录调试信息的最佳方式是什么?,iphone,logging,debugging,Iphone,Logging,Debugging,是否有某种标准的方式,或者是否有人编写了一些东西,允许您记录一条消息,并将其显示在iphone屏幕上的一个小滚动部分或iphone模拟器中的一个单独窗口中 更新: 对于像我这样不知道的noob,请使用下面描述的NSLog方法,并确保选择Run->Console来显示控制台 我仍然想知道是否有人编写了一个简单的记录器,可以显示在iphone上……使用NSLog@Log信息 Objective-C更正确的方法是 NSLog(@"message"); 但是标准的C方法也会起作用 printf("me

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

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


我仍然想知道是否有人编写了一个简单的记录器,可以显示在iphone上……

使用NSLog@Log信息

Objective-C更正确的方法是

NSLog(@"message");
但是标准的C方法也会起作用

printf("message");

我没有足够的“声誉”为你的帖子添加直接评论,但是:别忘了转到XCode->Preferences->Debugging->On Start:选择Show Console&Debugger

当然,您可以只选择控制台或其他什么,但您可能希望调试器能够这样做。要使用它,只需单击要打断的线的左侧。您还可以从“激活”切换到“停用”,因此,如果您知道在应用程序开始时有许多断点不需要点击,请在调试窗口中将调试设置为非激活,然后在点击应用程序中要调试的UI元素之前,切换相同的按钮以激活断点,使断点变为活动。否则,您当然可以单击“继续”,直到到达您的分区

另外,在NSLog上,如果您开始积累一堆日志语句,并且需要特别“查找”一条,那么可以这样做:NSLog@\n\n\n我的语句\n\n\n;这会导致一系列的换行。此外,对于不熟悉的人:

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

希望所有这些都是有帮助的,如果我在调试方面偏离了轨道,我会感到抱歉

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

iPhone应用程序日志文件也存储在用户的计算机上,并在用户每次同步iPhone时进行复制。请注意,设备名称将与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\

对于Swift,它只是

print("log msg")

养成这样的习惯永远不会太早:NSLog%@,message;当你以后重构或剪切粘贴时,很难引入格式字符串错误。控制台日志也会被复制吗?