我们都遇到了明显的错误和复杂的错误。我目前正在编写一个iPad应用程序。有几次我遇到了很难找到的错误。即使使用
NSUncaughtExceptionHandler();
以及各种其他错误处理调用。我的问题是,当你尝试了所有显而易见的技术来追踪错误时,你的应用程序崩溃是没有明显原因的。最好继续进行,最好的错误处理技术是什么?
控制台输出
Current language: auto; currently objective-c
kill
error while killing target (killing anyway): warning: error on line 2184 of "/SourceCache/gdb/gdb-1708/src/gdb/macosx/macosx-nat-inferior.c" in function "void macosx_kill_inferior_safe()": (os/kern) failure (0x5x)
quit
Program ended with exit code: 0
答案 0 :(得分:7)
这是调试器崩溃/错误,而不是你的应用程序。你无法在app app中做到这一点。
但是,您的应用中的某些内容可能已经脱轨,导致调试器发生故障。
例如,您可能正在破坏或耗尽内存。
此外,最新工具的更新日期,因为调试器通常会有错误修复,使其在遇到灾难性的低级故障时表现更好。
答案 1 :(得分:1)
我有同样的事情,也没有迹象表明存在导致问题的特定行 - 最终我发现我的一个.h文件中有以下代码:
@property (nonatomic, copy) IBOutlet UILabel *dateLabel;
我将'copy'更改为'weak'并解决了问题。改回来重新检查,这绝对是罪魁祸首。