【问题标题】:Xcode 5.1 crashes when it hits a break pointXcode 5.1 在遇到断点时崩溃
【发布时间】:2014-05-15 22:53:35
【问题描述】:

我今天一直在开发一个应用程序,并且能够调试它。突然之间,我无法在 Xcode 5.1 崩溃的情况下使用断点。它将在断点处停止,看起来它正试图在左下角的窗口中显示局部变量,然后崩溃。

这是崩溃报告:

Process:         Xcode [8084]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         5.1 (5084)
Build Info:      IDEFrameworks-5084000000000000~21
App Item ID:     497799835
App External ID: 444172641
Code Type:       X86-64 (Native)
Parent Process:  launchd [189]
Responsible:     Xcode [8084]
User ID:         294396280

Date/Time:       2014-04-03 14:57:52.981 -0600
OS Version:      Mac OS X 10.9.2 (13C64)
Report Version:  11
Anonymous UUID:  5BFD5C24-5465-3BC8-137A-4BF1A8D48B38

Sleep/Wake UUID: F94AB6A7-9517-4F94-93DA-CC2C9154C8A7

Crashed Thread:  30  DBGLLDBSessionThread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
ProductBuildVersion: 5B130a
Assertion failed: (!isNull() && "Cannot retrieve a NULL type pointer"), function getCommonPtr, file /SourceCache/lldb/lldb-310.2.36/llvm/tools/clang/include/clang/AST/Type.h, line 547.

(如果有帮助,我可以提供线程正在做什么的其余报告)。

我在代码中的不同文件和位置放置了断点。我可以在某些地方使用断点,但大多数断点都会导致崩溃。

我浏览了几个 SO 页面,但没有运气。除其他外,我尝试删除所有断点并重新添加 1。我已删除并重新生成了方案。

有什么想法吗?

我更新到 5.1.1。问题依然存在:

Process:         Xcode [19072]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         5.1.1 (5085)
Build Info:      IDEFrameworks-5085000000000000~10
Code Type:       X86-64 (Native)
Parent Process:  launchd [197]
Responsible:     Xcode [19072]
User ID:         294396280

【问题讨论】:

  • 我重新安装了还是有同样的问题:(
  • 在 5.1.1 GM Seed 上试过这个?
  • 把派生的数据文件夹扔掉(哎,跟鸡汤一样,没用但没坏处)
  • 我已经重启了我的 mac 和设备。我尝试删除派生数据文件夹。这两个都没有运气。我目前正在下载 5.1.1 GM 种子。
  • 在 5.1.1 上仍然崩溃

标签: ios objective-c crash breakpoints xcode5.1


【解决方案1】:

我碰巧有两部 iPhone 通过 USB 连接(一部带有 iOS 7.1 的 4 和一部带有 iOS 7.1.1 的 5),而 Xcode 5.1.1 在第一个断点处对我来说是“沙滩球”,无论它在哪里可能是,无论哪个断点先被击中。

刚刚从 USB 断开 iPhone 4。

我可以再次使用断点:)

当然是 YMMV ...

【讨论】:

  • 就我而言,我只是在使用模拟器。其他项目还在工作中,所以似乎只是这个项目有问题。
【解决方案2】:

我最近也遇到了同样的 LLVM 错误:

断言失败:(!isNull() && "无法检索 NULL 类型 指针"), 函数 getCommonPtr

在我的例子中,这是一段代码,我在另一个对象中存储了一个枚举值(权限)作为引用,而不是一个值:

正确

@property(nonatomic, readwrite) Permission permission;

错误

@property(nonatomic) Permission *permission;

我能够通过运行 Xcode 的代码分析来缩小问题范围。在对每个类中的一个或多个警告进行更正后,我将重新运行分析,然后测试并提交。乏味但有效,现在我可以再次正确调试。希望这有助于引导某人朝着正确的方向前进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多