我之前问过类似的问题here https://stackoverflow.com/q/53092448/1187415。这个版本有更简单的例子
更新摘要:Xcode 在调试器变量部分中为每个字符串显示“FAIL”。 Swift print() 语句显示正确的变量值。所有其他数据类型均正确显示。如何恢复可执行文件的工作状态?
问题:Xcode 显示的变量值不正确。最初,这种情况发生在一个项目中。现在,每个项目,包括新项目,都有不正确的变量值。这是演示新项目中问题的屏幕截图(请原谅我使用 ViewDidLoad() 作为 main()..)
这就是我所做的:删除 Xcode.app(版本 10.0)。从 App Store 下载 Xcode 10.1。创建一个新项目。输入此代码并运行。
Xcode 9.4.1 和 Xcode 10.0 中的现有项目也会出现同样的问题——与新安装的 Xcode 10.1 的行为相同。
由于所有版本的 Xcode 都显示相同的问题,我假设这个问题不在 Xcode 可执行文件中,而是在某些缓存或其他临时文件中。我已经清理了我的项目,重新启动了 Xcode,重新启动等等。没有帮助。
所以我的问题是:如何获得 Xcode 的全新安装?我可以删除哪些目录才能进入工作状态?我是新手。我只有在 iOS 调试器或 OS X 上运行的测试项目,所以我很高兴重新编译我的所有项目。是否有 Xcode 使用的临时文件和目录的完整列表?
我是否必须删除 Xcode 写入磁盘的所有内容?如果不存在其他解决方案,我对此持开放态度。
感谢您提供有关如何继续或如何收集更多信息的任何建议......
经过大量猜测后我终于解决了这个问题。
我同意@Martin R 的观点,这听起来不像是缓存问题,因为下载新版本的 Xcode 后问题仍然存在。我猜想只有首选项和 UserData 会比新的可执行文件寿命更长......
我查看了 UserData 目录,找到了调试器的子目录:
~/Library/Developer/Xcode/UserData/Debugger/
该目录中有一个名为“CustomDataFormatters”的文件。我不知道该文件是如何创建的,但这是其内容:
<?xml version="1.0" encoding="UTF-8"?>
<CustomDataFormatters
version = "1.0">
<SummaryFormatters>
<SummaryFormatter
formatString = "FAIL"
type = "Swift.String">
</SummaryFormatter>
</SummaryFormatters>
</CustomDataFormatters>
该文件似乎将每个字符串设置为“FAIL”,这正是我所看到的行为。额外的测试表明整数、浮点数和其他数据类型都能正确显示——只有字符串类型总是不正确。
删除这个文件解决了我的问题。
如果有人可以解释这个文件是如何创建的,我将不胜感激,但现在,我可以再次调试!
在应用程序调试期间,我右键单击字符串变量以“复制”数据,或“将值查看为...”。我在调试过程中是否按下了某些按键序列来创建此文件?
我在尝试使用 CMD+B 或 CMD+R 时是否按下了一些奇怪的键盘快捷键?
另外,我将此问题的标题更改为“Xcode 调试器显示所有字符串的“FAIL””以帮助将来的搜索。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)