如何修复Xcode 10.0调试器,它无法正常运行?

时间:2018-10-09 20:40:12

标签: swift xcode lldb xcode10

升级到Xcode 10.0后,调试器无法执行基本功能。调试器问题可能与升级到10.0无关,但我怀疑这是催化剂。

症状:

  • 突破点正在打破
  • “局部变量”区域(不确定这是否是恰当的术语)列出了局部变量,但无法提供有关它们的任何信息。尝试类似“打印x的描述”之类的结果是一条错误消息:
Printing description of x
x = <could not resolve type>

其次:

note: Swift compiler options for ProjectX conflict with options 
found in other modules;
 Switching to a new expression evaluator for ProjectX, old $R 
variables are lost.
  • 当为任何给定变量选择“ x的视图内存”时,将显示“内存视图”,但地址为“ 0x0”,并且视图中的内容绝对为零。

  • 当我尝试打印变量(即po x来打印变量“ x”时,直接使用(lldb)接口我首先得到上面的信息,关于切换到新的表达式求值器,但是第二次执行相同的打印命令po x时,会显示不同的错误

    error: Swift expressions require OS X 10.10 / iOS 8 SDKs or later.
    

是的,我使用的是OS X 10.13,我的iOS SDK是12.0,并且我模拟了各种设备iPad 6,pro 2,air 2,iPhone X,调试器在所有设备上的症状完全相同。

尝试的修复程序:

  • 我尝试将存储库重新克隆到新位置,以在新位置导入新的工作区。
  • 删除DerivedData并多次重启Xcode
  • 卸载并重新安装的Xcode
  • 清理并重建了所有内容
  • 重新启动计算机

4 个答案:

答案 0 :(得分:3)

我将Cocoapod版本升级到1.6.0.beta.2,并且调试器现在可以工作了。似乎是CommonCrypto引起了问题

答案 1 :(得分:2)

已修复

在我的项目中,这是由于包含CommonCrypto包装器而引起的,该包装器作为框架包含在我的一个模块中。据我了解,这与现在iOS随附的加密模块

引起了一些冲突

这是一个长期存在的项目,现在,Apple较新框架提供的功能已不建议使用这个CommonCrypto框架。 在删除CommonCrypto框架后,调试再次开始。

答案 2 :(得分:1)

我在使用迦太基时遇到了同样的问题。使用此命令更新依赖关系可以为我解决问题:

carthage update --platform iOS --no-use-binaries

答案 3 :(得分:0)

就我而言,我从Cocoapod中删除了Fabric,Crashlytics,Firebase / Core,一切都很好。

Xcode 10.0

pod'Fabric','〜> 1.9.0'

pod'Crashlytics','〜> 3.12.0'

pod“ Firebase / Core”