簡體   English   中英

EXC_BAD_INSTRUCTION 來自 com.apple.xpc.activity.com.apple.cloudkit.scheduler.com.apple.coredata.cloudkit

[英]EXC_BAD_INSTRUCTION from com.apple.xpc.activity.com.apple.cloudkit.scheduler.com.apple.coredata.cloudkit.activity.export

我有一個在 iOS 上運行良好的應用程序,但是當使用催化劑運行時,如果我在 macOS 上滑動到另一個虛擬桌面,然后再返回大約 10 次,它會間歇性地崩潰。 它主要發生在 UICollectionViewController

這是回溯:

(lldb) bt
* thread #5, queue = 'com.apple.xpc.activity.com.apple.cloudkit.scheduler.com.apple.coredata.cloudkit.activity.export', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
  * frame #0: 0x00007fff68c373ae libxpc.dylib`___xpc_activity_dispatch_block_invoke.107.cold.3 + 19
    frame #1: 0x00007fff68c1ecdb libxpc.dylib`___xpc_activity_dispatch_block_invoke.107 + 746
    frame #2: 0x00000001010377b3 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #3: 0x000000010103878f libdispatch.dylib`_dispatch_client_callout + 8
    frame #4: 0x000000010103fd31 libdispatch.dylib`_dispatch_lane_serial_drain + 777
    frame #5: 0x0000000101040ae8 libdispatch.dylib`_dispatch_lane_invoke + 438
    frame #6: 0x000000010104df2e libdispatch.dylib`_dispatch_workloop_worker_thread + 681
    frame #7: 0x00000001010c4053 libsystem_pthread.dylib`_pthread_wqthread + 290
    frame #8: 0x00000001010c3eb3 libsystem_pthread.dylib`start_wqthread + 15
(lldb) 

我嘗試過查看代碼、添加打印語句、添加斷點、注釋掉某些部分等,試圖找出我的代碼的哪一部分導致了這種情況,但到目前為止失敗了。

我正在使用 iOS 13 中的 NSPersistentCloudKitContainer。堆棧跟蹤是否指向那里的錯誤?

我浪費了很多時間試圖了解問題的根源,並希望這個答案能幫助許多其他人。

這個問題似乎已經存在很長時間了,並且沒有得到解決,也沒有被理解。 但我在評論中讀到的重要提示:只有當應用程序從 Xcode 中運行時才會發生這種崩潰。

另一個重要提示:您可以直接從 Finder 運行構建產品而不會崩潰。 即使它是“調試”版本。

基於此,我得出的結論是問題與Debug執行環境有關,我找到了解決方案:禁用“Debug XPC services used by this application”
此選項使用的調試代碼中一定存在一些錯誤。

您可以在目標方案中找到此選項。

  1. 在 window 欄中單擊您的目標
  2. Select "編輯方案..."
  3. 確保選中“運行”並取消選中“調試此應用程序使用的 XPC 服務”的復選標記

我希望這對大家有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM