2016-02-05 78 views
0

我剛剛發佈了OSX的應用程序在App Store和報告來了,它崩潰上OSX 10.9.510.9.5 libdispatch產生崩潰 - 如何調試?

這是從用戶崩潰報告的相關信息:

Crashed Thread: 0 Dispatch queue: com.apple.main-thread 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000050 

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 
0 libdispatch.dylib    0x00007fff83955eeb dispatch_async_f + 3 
1 de.jakobpenca.sdsdrop   0x00000001048168e0 0x10480e000 + 35040 
2 de.jakobpenca.sdsdrop   0x0000000104843c0b 0x10480e000 + 220171 
3 libdispatch.dylib    0x00007fff839561bb _dispatch_call_block_and_release + 12 
4 libdispatch.dylib    0x00007fff8395328d _dispatch_client_callout + 8 
5 libdispatch.dylib    0x00007fff8395aef0 _dispatch_main_queue_callback_4CF + 333 
6 com.apple.CoreFoundation  0x00007fff81a164f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 
7 com.apple.CoreFoundation  0x00007fff819d1714 __CFRunLoopRun + 1636 
8 com.apple.CoreFoundation  0x00007fff819d0e75 CFRunLoopRunSpecific + 309 
9 com.apple.HIToolbox    0x00007fff87e6aa0d RunCurrentEventLoopInMode + 226 
10 com.apple.HIToolbox    0x00007fff87e6a7b7 ReceiveNextEventCommon + 479 
11 com.apple.HIToolbox    0x00007fff87e6a5bc _BlockUntilNextEventMatchingListInModeWithFilter + 65 
12 com.apple.AppKit    0x00007fff84d1c24e _DPSNextEvent + 1434 
13 com.apple.AppKit    0x00007fff84d1b89b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122 
14 com.apple.AppKit    0x00007fff84d0f99c -[NSApplication run] + 553 
15 com.apple.AppKit    0x00007fff84cfa783 NSApplicationMain + 940 
16 libdyld.dylib     0x00007fff8ce8b5fd start + 1 

Thread 0 crashed with X86 Thread State (64-bit): 
    rax: 0x00006080002781c0 rbx: 0x000060800024bc40 rcx: 0xffff9f7fffdb4301 rdx: 0x00007fff839561af 
    rdi: 0x0000000000000000 rsi: 0x00006080002781c0 rbp: 0x00007fff5b3f0420 rsp: 0x00007fff5b3f0398 
    r8: 0x00000000000000ff r9: 0xffff9f7fffdb43bf r10: 0x00007f8cbb039fa0 r11: 0x00007fff71218628 
    r12: 0x0000000000000000 r13: 0x00007fff8cf5c0d0 r14: 0x00007fff8cf59080 r15: 0x000060800024bc40 
    rip: 0x00007fff83955eeb rfl: 0x0000000000010206 cr2: 0x0000000000000050 

我不無法使用小牛機器,並且無法從該報告中提取有意義的信息。

這看起來像libdispatch中不支持的API使用情況嗎?或者這是否意味着崩潰發生在派遣區內的某處?

我在崩潰時使用dispatch_async()。

該應用程序構建於OSX 10.11.3上,Xcode 7.2,最新SDK,10.9作爲部署目標。我可以掃描我的代碼中不支持的API使用情況嗎?

+0

您需要在調試器中運行您的應用程序,並在崩潰線程中顯示的偏移量1和2處設置斷點。 –

+0

謝謝。固定 - 這是一個問題與Cocoa API 10.9 – spinalwrap

回答

1

我沒有訪問小牛機

[該應用程序與發佈] 10.9作爲部署目標

你不需要爲您希望支持的每個OS X版本提供物理機器(或啓動驅動器)。

立即獲取VMWare/Parallels/Virtual Box的副本;建造兩個虛擬機,一個小牛隊和一個優勝美地;並在兩者上測試你的應用程序。

+0

謝謝 - 這聽起來很明智。一旦我擁有一臺速度更快,性能更強的大型機器,我就可以做到這一點,我使用的Macbook Air沒有那麼做...... – spinalwrap

+0

運行這些應用程序並不需要很多,您可能會發現它們有點慢在低端硬件上,但你接受它在出售之前測試你的軟件。例如,請參閱VMWare上的[此Apple社區線程](https://discussions.apple.com/thread/3366314?start=0&tstart=0)和2011年的MBAir。 – CRD

+0

也作爲測試的一部分,設置您的基礎和部署目標在Xcode到10.9/10.9,並檢查所有的錯誤導致你有API可用性檢查邏輯。然後以10.9/10.10重複。 HTH – CRD