このスタック トレースでクラッシュ レポートを取得しました。
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 1
Thread 0:
0 libSystem.B.dylib 0x30d2ac98 fsync + 8
1 libsqlite3.dylib 0x3617b52a _sqlite3_purgeEligiblePagerCacheMemory + 1626
2 libsqlite3.dylib 0x3617b54e _sqlite3_purgeEligiblePagerCacheMemory + 1662
3 libsqlite3.dylib 0x36172824 sqlite3_db_status + 1072
4 libsqlite3.dylib 0x3619c5dc sqlite3_create_function16 + 38176
5 libsqlite3.dylib 0x3619c63c sqlite3_create_function16 + 38272
6 libsqlite3.dylib 0x3619cc50 sqlite3_create_function16 + 39828
7 libsqlite3.dylib 0x361b0d96 fts3DbExec + 21826
8 libsqlite3.dylib 0x36171de4 sqlite3_step + 56
9 DesignScene 0x0000d750 -[FMDatabase executeUpdate:withArgumentsInArray:orVAList:] (FMDatabase.m:488)
fsync 例外が発生するのは残念ですが、たわごとが発生しますよね? 私の質問は、この例外をどのように処理すればよいですか? @try/@catch
ブロックで包む?
更新:クラッシュはスレッド 1 で発生しました。スレッド 1 からの完全なトレースは次のとおりです。
Thread 1 Crashed:
0 libSystem.B.dylib 0x30d30974 kevent + 24
1 libSystem.B.dylib 0x30dda704 _dispatch_mgr_invoke + 88
2 libSystem.B.dylib 0x30dda174 _dispatch_queue_invoke + 96
3 libSystem.B.dylib 0x30dd9b98 _dispatch_worker_thread2 + 120
4 libSystem.B.dylib 0x30d7e24a _pthread_wqthread + 258
5 libSystem.B.dylib 0x30d76970 start_wqthread + 0
私が言えることは、WTF?ここで何らかの奇妙なシステムの問題が発生した可能性はありますか? そのトレースには自分のコードがまったく表示されないからです。