调试器断点(模拟器)上的XCode 6.1和6.1.1崩溃

时间:2014-11-25 19:25:54

标签: ios xcode crash ios-simulator xcode6

我和许多其他人一样,遇到了XCode 6+崩溃的问题。我得到SourceKit崩溃以及完整的应用程序崩溃。一时兴起,我想我尝试6.1.1(开发人员成员中心),更糟糕的是,调试器断点现在导致完整的应用程序崩溃。所以我说忘了它然后回到6.1,但是在放入调试器断点时我仍然会崩溃。

显然,这个带断点的崩溃只影响模拟器,物理设备设置并在没有问题的情况下在断点处停止。怪异!

绝对让人抓狂!其他人得到这个?

我尝试的事情:

  • 删除/Application/Xcode.app/& amp; 〜/资源库/开发人员/ *
  • 清理项目
  • 重新启动我的笔记本电脑
  • 在物理设备上执行的断点(<<<<<< ======这有效!!!)
  • 屠宰鸡肉并将其全部撒上

堆栈跟踪的负责人:

Process:         Xcode [7904]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         6.1 (6604)
Build Info:      IDEFrameworks-6604000000000000~2
App Item ID:     497799835
App External ID: 752282650
Code Type:       X86-64 (Native)
Parent Process:  launchd [185]
Responsible:     Xcode [7904]
User ID:         501

Date/Time:       2014-11-25 12:32:49.348 -0800
OS Version:      Mac OS X 10.9.5 (13F34)
Report Version:  11
Anonymous UUID:  E22980F9-B80B-F985-200A-FE471C623C56


Crashed Thread:  23  <DBGLLDBSessionThread (pid=7957)>

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000001409bdfd0

VM Regions Near 0x1409bdfd0:
    Stack                  000000014093b000-00000001409bd000 [  520K] rw-/rwx SM=COW  thread 22
--> STACK GUARD            00000001409bd000-00000001409be000 [    4K] ---/rwx SM=NUL  stack guard for thread 23
    Stack                  00000001409be000-0000000140a40000 [  520K] rw-/rwx SM=COW  thread 23

Application Specific Information:
ProductBuildVersion: 6A1052d

...

Thread 23 Crashed:: <DBGLLDBSessionThread (pid=7957)>
0   libsystem_pthread.dylib         0x00007fff90eb82cf __mtx_droplock + 17
1   libsystem_pthread.dylib         0x00007fff90eb88f3 pthread_mutex_unlock + 60
2   com.apple.LLDB.framework        0x000000011808f8be lldb_private::Mutex::Locker::~Locker() + 22
3   com.apple.LLDB.framework        0x00000001180ed55f GDBRemoteCommunication::CheckForPacket(unsigned char const*, unsigned long, StringExtractorGDBRemote&) + 2423
4   com.apple.LLDB.framework        0x00000001180ec99e GDBRemoteCommunication::WaitForPacketWithTimeoutMicroSecondsNoLock(StringExtractorGDBRemote&, unsigned int) + 88
5   com.apple.LLDB.framework        0x00000001181eeb1b GDBRemoteCommunicationClient::SendPacketAndWaitForResponse(char const*, unsigned long, StringExtractorGDBRemote&, bool) + 91
6   com.apple.LLDB.framework        0x00000001180f7574 ProcessGDBRemote::DoReadMemory(unsigned long long, void*, unsigned long, lldb_private::Error&) + 216
7   com.apple.LLDB.framework        0x00000001181a452a lldb_private::Process::ReadMemoryFromInferior(unsigned long long, void*, unsigned long, lldb_private::Error&) + 94
8   com.apple.LLDB.framework        0x0000000118171889 lldb_private::ProcessStructReader::ProcessStructReader(lldb_private::Process*, unsigned long long, lldb_private::ClangASTType) + 561
9   com.apple.LLDB.framework        0x0000000118169082 lldb_private::SwiftLanguageRuntime::ClassMetadata::ClassMetadata(lldb_private::SwiftLanguageRuntime&, unsigned long long) + 354
10  com.apple.LLDB.framework        0x000000011816625d lldb_private::SwiftLanguageRuntime::GetMetadataForLocation(unsigned long long) + 531
11  com.apple.LLDB.framework        0x00000001181690d1 lldb_private::SwiftLanguageRuntime::ClassMetadata::ClassMetadata(lldb_private::SwiftLanguageRuntime&, unsigned long long) + 433
12  com.apple.LLDB.framework        0x000000011816625d lldb_private::SwiftLanguageRuntime::GetMetadataForLocation(unsigned long long) + 531
13  com.apple.LLDB.framework        0x00000001181690d1 lldb_private::SwiftLanguageRuntime::ClassMetadata::ClassMetadata(lldb_private::SwiftLanguageRuntime&, unsigned long long) + 433
14  com.apple.LLDB.framework        0x000000011816625d lldb_private::SwiftLanguageRuntime::GetMetadataForLocation(unsigned long long) + 531
15  com.apple.LLDB.framework        0x00000001181690d1 lldb_private::SwiftLanguageRuntime::ClassMetadata::ClassMetadata(lldb_private::SwiftLanguageRuntime&, unsigned long long) + 433
16  com.apple.LLDB.framework        0x000000011816625d lldb_private::SwiftLanguageRuntime::GetMetadataForLocation(unsigned long long) + 531
17  com.apple.LLDB.framework        0x00000001181690d1 lldb_private::SwiftLanguageRuntime::ClassMetadata::ClassMetadata(lldb_private::SwiftLanguageRuntime&, unsigned long long) + 433
18  com.apple.LLDB.framework        0x000000011816625d lldb_private::SwiftLanguageRuntime::GetMetadataForLocation(unsigned long long) + 531

...

1 个答案:

答案 0 :(得分:11)

这些奇怪的XCode行为多年来已经提出了许多解决方案,所以我也包括了所有这些步骤......但是,我已经添加了一些我自己的(当一起完成时)并且按顺序)从来没有解决我遇到的每个奇怪的XCode问题......

请注意:完成所有这些步骤(按顺序)可能很重要......我发现其中一些乍一看似乎有点矫枉过正或者说它们无关紧要,但我的体验已经表明,每一步都可以让XCode恢复正常的工作状态。因此,我不建议跳过任何步骤或更改其顺序。

话虽如此,如果您发现需要调整以下步骤,请发表评论...... XCode会不断变化,因此这些步骤也可能需要随时间变化。

XCode崩溃后:

1)如果模拟器仍在运行,请确保在关闭之前选择IOS Simulator->重置内容和设置。

2)关闭模拟器(CMD-Q)

3)窗口 - &gt;组织者 - &gt;删除派生数据

4)如果在任何设备上进行调试,请从设备中删除该应用并完全重新启动设备。

5)启动XCode

6)删除所有断点

7)产品 - &gt; (按住Alt /选项键)清洁构建文件夹

8)产品 - &gt;清洁

9)再次通过XCode关闭XCode-&gt;退出XCode(注意:必须是 GRACEFUL 退出,因此XCode可以正确地完成关闭/清理循环)

10)重启Mac

11)启动Xcode

12)如果在模拟器中运行,请选择一个不同的设备进行模拟而不是崩溃。

13)对您的应用进行测试运行(没有断点)

14)如果一切顺利,开始添加断点(所有异常总是一个很好的起点)。

HAIL MARY CLAUSE(又名“Corbomite演习”):如果执行以上所有操作无效,请再次执行上述所有步骤,但在步骤9和10之间插入以下步骤: 9A)删除XCode应用程序并重新安装XCode。