2017-07-31 14 views
0

iOS 10、objective-cでアプリを開発しています。それがクラッシュするまで、アプリは1時間から数時間まで正常に動作します。iOS 10:dispatch_asyncのランダムクラッシュ

奇妙なことは、dispatch_async(__gcd_queue_item_enqueue_hook_block_invoke)を使っていくつかのブロックディスパッチの開始時にクラッシュすることです。ブロックは決して同じではありません。

テストされたリークおよびvarios mallocテスト。メモリ使用量が少ないそれは記憶の問題ではないようです。まだ何も。

この時点で、デバッグを進める方法については私には分かりません。どんな提案も大歓迎です。

編集:ここでは、最後のクラッシュからの完全なスタックトレースです:

* thread #254, stop reason = EXC_BAD_ACCESS (code=1, address=0x24) 
frame #0: 0x00000001006f2e08 libBacktraceRecording.dylib`__gcd_queue_item_enqueue_hook_block_invoke 
frame #1: 0x00000001006f238c libBacktraceRecording.dylib`gcd_queue_item_enqueue_hook + 224 
frame #2: 0x00000001012e5e48 libdispatch.dylib`_dispatch_introspection_queue_item_enqueue_hook + 40 
frame #3: 0x00000001012c5304 libdispatch.dylib`_dispatch_queue_push + 196 
* frame #4: 0x00000001000e2850 Lucky`-[LuckyViewController onEventsChanged:](self=0x000000010181a200, _cmd="onEventsChanged:", [email protected]"14 elements") at LuckyViewController.m:1517 
frame #5: 0x00000001001f7c2c Lucky`-[TutorManager strategyLoop2](self=0x000000010165e4b0, _cmd="strategyLoop2") at TutorManager.m:723 
frame #6: 0x000000018e62f318 Foundation`__NSThread__start__ + 996 
frame #7: 0x000000018cbfd68c libsystem_pthread.dylib`_pthread_body + 240 
frame #8: 0x000000018cbfd59c libsystem_pthread.dylib`_pthread_start + 284 
frame #9: 0x000000018cbfacb4 libsystem_pthread.dylib`thread_start + 4 
+3

あなたはスタックトレースを追加することはできますか?実際の問題が現在のステートメントよりも遅れている可能性があるので、参考になるかもしれません。 –

+0

ありがとうございました、スタックトレースを追加しました。 –

答えて

0

これはdispatch_asyncではありません。

Appleテクニカルサポートでは、libBacktraceRecording.dylibライブラリ内のバグであることが確認されています。これはXcode内のデバッグに使用されます。

これは、ほとんどのユーザのデバイスに存在しないライブラリ内で が発生するデバッグエラーであるため、ユーザデバイスでクラッシュしません。要するに

あなたのスタックトレースの先頭にlibBacktraceRecording.dylibを見ている場合、それはおそらく、このだし、おそらくあなたのコードではないエラー

関連する問題