4

这是崩溃日志

Date/Time:       2011-02-10 21:12:00.478 +0900
OS Version:      iPhone OS 4.2.1 (8C148)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 Crashed:
0   libSystem.B.dylib               0x30d7c2d4 __kill + 8
1   libSystem.B.dylib               0x30d7c2c4 kill + 4
2   libSystem.B.dylib               0x30d7c2b6 raise + 10
3   libSystem.B.dylib               0x30d90d72 abort + 50
4   libstdc++.6.dylib               0x34981a20 __gnu_cxx::__verbose_terminate_handler() + 376
5   libobjc.A.dylib                 0x34a83594 _objc_terminate + 104
6   libstdc++.6.dylib               0x3497fdf2 __cxxabiv1::__terminate(void (*)()) + 46
7   libstdc++.6.dylib               0x3497fe46 std::terminate() + 10
8   libstdc++.6.dylib               0x3497ff16 __cxa_throw + 78
9   libobjc.A.dylib                 0x34a824c4 objc_exception_throw + 64
10  CoreFoundation                  0x3587c1a8 +[NSObject(NSObject) doesNotRecognizeSelector:] + 96
11  CoreFoundation                  0x35823aa2 ___forwarding___ + 502
12  CoreFoundation                  0x35823858 _CF_forwarding_prep_0 + 40
13  PictureDictionary               0x00005fe4 sgLoadFileImage(char const*, long*) (PictureDictionary.mm:41)
14  PictureDictionary               0x000061b0 CPictureDictionary::LoadPageData() (PictureDictionary.mm:814)
15  PictureDictionary               0x00006d02 CPictureDictionary::Update() (PictureDictionary.mm:505)
16  PictureDictionary               0x00003216 -[ES1Renderer render] (ES1Renderer.mm:63)

我的代码中开始崩溃的行(上面的堆栈垃圾#13)是

NSString* pStr = [[NSString alloc] initWithUTF8String: pFileName];

由于某种原因,它在这里崩溃了。奇怪的是它在调试模式下运行良好。但是,当我通过 iTunes 进行临时构建并将其放入 iPad 时,就会发生上述崩溃。

我已经清理和重建了很多次,确保我的配置文件和标识符是正确的。我不知道为什么会发生这种情况。任何见解或建议都会有所帮助。

谢谢。

4

1 回答 1

7

对不起,我不是大师,但也许这会有所帮助。

当 Cocoa 在运行时找不到您正在调用的方法时,就会发生这种类型的崩溃。

通常,您会在编译期间收到警告。

也就是说,它似乎在抱怨找不到目标 C 选择器(方法)。但是, sgLoadFileImage 在我看来是一个 C 函数。

当然,您的调试版本和发布版本之间有些不同。代码不同,或者提供给方法和函数的参数不同。

于 2011-02-10T12:30:46.390 回答