小编Len*_*sky的帖子

如何从obj-c/ios中的堆栈跟踪获取源代码行

NSSetUncaughtExceptionHandler用来将堆栈跟踪打印到iPhone中的本地文件,这将在下次启动应用程序时发送到我们的服务器.然后我可以检查异常数据并修复bug.在一些崩溃中,我有模块名称和抛出异常的函数,这些很容易.但大多数情况下我有这样的事情:

"4   libc++abi.dylib 0x35bba3c5 _ZL19safe_handler_callerPFvvE + 76",
"5   libc++abi.dylib 0x35bba451 _ZdlPv + 0",
"6   libc++abi.dylib 0x35bbb825 __cxa_current_exception_type + 0",
"7   libobjc.A.dylib 0x37bab2a9 objc_exception_rethrow + 12",
"8   CoreFoundation  0x3575a50d CFRunLoopRunSpecific + 404"
Run Code Online (Sandbox Code Playgroud)

例如:

*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array

但是我的应用程序中有几十个数组,所以我需要帮助才能找到引发异常的特定行,使用从堆栈跟踪中获取的数据.

有没有人知道来自Apple或其他的好文章/教程,在那里我可以学习解码堆栈跟踪中的数字以找到源代码中有问题的行.提前致谢!

debugging stack exception-handling objective-c ios

22
推荐指数
2
解决办法
6671
查看次数

在 Retina 4 设备上以原始分辨率运行需要名为“-568h@2x.png”的启动图像

我在 XCode 4.5 中创建了一个新项目,并为每个所需的分辨率添加了 3 个启动图像。XCode 自动创建了 3 个文件:Default.png、Default@2x.png 和 Default-568h@2x.png

现在我收到一条警告,要求创建一个“-568h@2x.png” (没有“默认”字样)并愿意为我添加文件。如果我单击“添加”,它会创建一个名为“-568h@2x.png”的空图像(黑色矩形)。如果我不添加它,我在运行时的启动画面是不正确的(它需要应用程序图标并将其拉伸到 while 屏幕)

所以我决定让它成为,并将 Default-568h@2x.png 复制到 -568h@2x.png,它确实解决了启动画面和警告,但现在我在 gitHub 上遇到了麻烦,因为它不能处理以破折号“-”开头的文件。

有任何想法吗?我在哪里“丢失”了“默认”前缀???

xcode warnings splash-screen ios xcode4.5

5
推荐指数
1
解决办法
4730
查看次数