10.9.5 libdispatch生产崩溃 - 如何调试?

时间:2016-02-05 00:48:11

标签: macos cocoa libdispatch

我刚刚向App Store发布了一个OSX应用程序,报告显示它在OSX 10.9.5上崩溃了

以下是用户崩溃报告中的相关信息:

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

我无法访问Mavericks计算机,也无法从该报告中提取有意义的信息。

这看起来像libdispatch中不支持的API用法吗?或者这只是意味着崩溃发生在调度区域内的某个地方?

我在崩溃时使用dispatch_async()。

该应用程序基于OSX 10.11.3构建,包含Xcode 7.2,最新SDK,10.9作为部署目标。我可以扫描代码以获取不受支持的API使用吗?

1 个答案:

答案 0 :(得分:1)

  

我无法访问小牛机器

  

[该应用程序以10.9作为部署目标发布了

对于您希望支持的每个OS X版本,您都不需要物理机器(或启动驱动器)。

立即获取VMWare / Parallels / Virtual Box的副本;建造两个VM,一个是Mavericks,一个是Yosemite;并测试你的应用程序。