1

ユーザーの1人が、アプリの起動直後にアプリがクラッシュするという問題に直面しました。現在、クラッシュレポートは2つしかありませんが、どのデバイスでもクラッシュを再現できませんでした。ビルドはエンタープライズディストリビューションビルドです。

デバイスは、iOS6を搭載したiPhone4です。

どんなアイデアでも大歓迎です。

Date/Time:       2012-10-30 17:41:11.762 +0100
OS Version:      iOS 6.0 (10A403)
Report Version:  104

Exception Type:  EXC_CRASH (SIGTRAP)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_c.dylib              0x38edad8e memmove$VARIANT$CortexA8 + 654
1   QuartzCore                     0x3401c81c CA::Render::Encoder::encode_bytes(void const*, unsigned long) + 24
2   QuartzCore                     0x3401d494 CA::Render::Layer::Ext::encode(CA::Render::Encoder*) const + 152
3   QuartzCore                     0x3401c706 CA::Render::encode_set_object(CA::Render::Encoder*, unsigned long, unsigned int, CA::Render::Object*, unsigned int) + 42
4   QuartzCore                     0x3401b3e2 CA::Context::commit_layer(CA::Layer*, unsigned int, unsigned int, void*) + 114
5   QuartzCore                     0x34011076 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 310
6   QuartzCore                     0x3401101c CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 220
7   QuartzCore                     0x3401101c CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 220
8   QuartzCore                     0x3401052c CA::Context::commit_transaction(CA::Transaction*) + 1024
9   QuartzCore                     0x34010024 CA::Transaction::commit() + 312
10  QuartzCore                     0x3400fe84 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 56
11  CoreFoundation                 0x34e326ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
12  CoreFoundation                 0x34e309bc __CFRunLoopDoObservers + 272
13  CoreFoundation                 0x34e30d12 __CFRunLoopRun + 738
14  CoreFoundation                 0x34da3eb8 CFRunLoopRunSpecific + 352
15  CoreFoundation                 0x34da3d44 CFRunLoopRunInMode + 100
16  GraphicsServices               0x35b0c2e6 GSEventRunModal + 70
17  UIKit                          0x379e92fc UIApplicationMain + 1116
18  MyApp                           0x000ceb90 main (main.m:16)
19  MyApp                           0x000ceb2c start + 36

これが2番目のものです:

Date/Time:       2012-10-29 15:54:48.926 +0100
OS Version:      iOS 6.0 (10A403)
Report Version:  104

Exception Type:  EXC_CRASH (SIGTRAP)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib         0x33b1beb4 mach_msg_trap + 20
1   libsystem_kernel.dylib         0x33b1c048 mach_msg + 36
2   CoreFoundation                 0x34e32040 __CFRunLoopServiceMachPort + 124
3   CoreFoundation                 0x34e30d5a __CFRunLoopRun + 810
4   CoreFoundation                 0x34da3eb8 CFRunLoopRunSpecific + 352
5   CoreFoundation                 0x34da3d44 CFRunLoopRunInMode + 100
6   GraphicsServices               0x35b0c2e6 GSEventRunModal + 70
7   UIKit                          0x379e92fc UIApplicationMain + 1116
8   MyApp                           0x00024b90 main (main.m:16)
9   MyApp                           0x00024b2c start + 36
4

1 に答える 1

1

最初のものは、画面に表示されている間にアニメーションを作成していると思われます(起動中に発生するため)。おそらく、アプリケーションデリゲートで実行しているUI関連の何か、またはまだ画面に表示されていないViewControllerから実行していることです。そうは言っても、Core Animationの呼び出しは赤いニシンかもしれません(以下を参照)。

2つ目は、実際のクラッシュポイントではありません。iOSは、どのスレッドが実際にクラッシュしたかを常に判断できるとは限らず、間違ったスレッドを非難することもあります(ほとんどの場合、スレッド0は誤って非難されます)。関数でクラッシュする_trap可能性はほとんどありません。スレッドは通常、この時点で中断されます。私は他のスレッドを調べて、そのうちの1つが疑わしいことをしていないかどうかを確認しました。他の場所で見つかった場合は、これも最初のクラッシュの原因である可能性があります。

于 2012-10-31T16:39:48.940 に答える