Iphone 应用程序崩溃-EXC_崩溃(SIGABRT)-iOS 4.3-three20

Iphone 应用程序崩溃-EXC_崩溃(SIGABRT)-iOS 4.3-three20,iphone,xcode,crash,three20,sigabrt,Iphone,Xcode,Crash,Three20,Sigabrt,我的项目中包括了三个20库。我正在使用TTThumbsViewController。在我升级到Xcode 3.2.6和iOS 4.3之前,一切都很好。照片网格看起来很好,但只要我点击其中一个拇指,应用程序就会崩溃。我确信这不是一个记忆问题。不过,它在模拟器上运行良好。以下是坠机报告: 事件标识符:3C63956F-F718-468F-B113-116E457DEB4E CrashReporter键:32180af33b999869f98369f8d85412b799a88fdb 硬件型号:iPh

我的项目中包括了三个20库。我正在使用TTThumbsViewController。在我升级到Xcode 3.2.6和iOS 4.3之前,一切都很好。照片网格看起来很好,但只要我点击其中一个拇指,应用程序就会崩溃。我确信这不是一个记忆问题。不过,它在模拟器上运行良好。以下是坠机报告:

事件标识符:3C63956F-F718-468F-B113-116E457DEB4E
CrashReporter键:32180af33b999869f98369f8d85412b799a88fdb
硬件型号:iPhone3,1
流程:MyApp[15071]
路径:/var/mobile/Applications/13C32157-F4CA-44BC-BB8F-D9A9FE9EAE38/MyApp.app/MyApp
标识符:MyApp
版本:???(?)
代码类型:ARM(本机)
父进程:已启动[1]

日期/时间:2011-05-06 21:48:06.042-0500
操作系统版本:iPhone操作系统4.3(8F190)
报告版本:104

异常类型:EXC_崩溃(SIGABRT)
异常代码:0x00000000,0x00000000
崩溃线程:0

线程0名称:调度队列:com.apple.main Thread
线程0崩溃:
0 libsystem_kernel.dylib 0x00011a1c_uupthread_kill+8
1 libsystem_c.dylib 0x000333b4 pthread_kill+52
2 libsystem_c.dylib 0x0002bbf8中止+72
3 libstdc++.6.dylib 0x00044a64\uuuu gnu\u cxx::\uuuu verbose\u terminate\u handler()+376
4 libobjc.A.dylib 0x000060c_objc_terminate+104
5 libstdc++.6.dylib 0x00042e36\u cxxabiv1::\u终止(void(*)()+46
6 libstdc++.6.dylib 0x00042e8a std::terminate()+10
7 libstdc++.6.dylib 0x00042f5a\uuucxa\uthrow+78
8 libobjc.A.dylib 0x00004c84 objc_异常_抛出+64
9 CoreFoundation 0x0009e48a+[N异常提升:格式:参数:][62
10 CoreFoundation 0x0009e4c4+[N异常提升:格式:][28
11夸脱芯0x00001616 CALayerSetPosition(CALayer*,CA::Vec2常量和布尔)+134
12夸脱芯0x00001584-[CALayer设置位置:+32
13夸脱芯0x000014d0-[CALayer设置框:+384
14 UIKit 0x0000544e-[UIView(几何)设置帧:][182
15 MyApp 0x00078366-[TTPhotoView布局子视图](TTPhotoView.m:221)
16 UIKit 0x000055f4-[UIView(CALayerDelegate) 层的布局子层:][20
17 CoreFoundation 0x0000befc-[NSObject(NSObject)性能选择器:withObject:+16
18夸脱芯0x00002bae-[CALayer布局子层]+114

有什么想法吗


谢谢

函数
CALayerSetPosition
正在抛出类型为
NSException
的异常,并且没有人捕获它,因此您的应用程序将被终止。尝试在函数
-[TTPhotoView layoutSubviews]
内调用
-[UIView(Geometry)setFrame:
时添加此代码(应位于TTPhotoView.m的第221行):


这将为您提供更多有关抛出异常的原因的信息;最有可能的情况是,您正在传递一个无效的参数或其他东西。

我最近也看到了这个异常,根据Adam所说的,我相信问题在于,一个NaN正在作为一个参数传入,这将引发异常。如果这是我所面临的同一个问题,我可以对该行进行注释以避开该问题(AFAICT该行仅处理加载微调器进度指示器)。因此,如果你愿意生活在没有这些的情况下,你可以绕过它。

是的。。这是一个被通过的NaN。基本上,如果使用构造函数(MockPhotoSource类),默认情况下为caption变量指定空值,则会引发此异常。因此,我使用了另一个构造函数,并为标题参数提供了一个空白值

“我确信这不是内存问题。但它在模拟器上运行良好。”它在模拟器上的运行良好并不意味着一旦你开始踩内存,你进入未定义的行为区域,任何事情都可能发生,包括崩溃和静默成功。我同意。但我运行了构建和分析工具,启用了NSZombie,但找不到任何与内存相关的问题。引发了什么异常?它应该被记录到控制台上,知道它到底是什么将帮助您找出问题所在。这与捕获中的断点一起非常有用,谢谢!
@try
{
    [myUIView setFrame:someFrame];
}
@catch(NSException *exception)
{
    NSLog(@"Caught exception: %@", exception);
}