Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode 11调试器的奇怪行为-当存在';这是一个价值观_Ios_Swift_Xcode_Xcode10_Xcode11 - Fatal编程技术网

Ios Xcode 11调试器的奇怪行为-当存在';这是一个价值观

Ios Xcode 11调试器的奇怪行为-当存在';这是一个价值观,ios,swift,xcode,xcode10,xcode11,Ios,Swift,Xcode,Xcode10,Xcode11,我刚刚注意到Xcode11的奇怪行为,我在Xcode10和Xcode11中执行相同的代码 请参阅下面所附的两个版本的屏幕截图 我正在从字符串创建一个url,当我放置一个调试器并检查myUrl的值时,它显示为nil,尽管在下一行它通过了nil检查,并且控制进入notnil情况 也可以看到控制台 有没有人已经面临过这类问题?或者我做错了什么 注意:已经清除缓存,派生数据,清理构建,重新启动Xcode。不要混淆断点的位置,它们都是用不同的系统捕获的 提前谢谢 我使用的是一个答案,因为评论太长,但是

我刚刚注意到Xcode11的奇怪行为,我在Xcode10和Xcode11中执行相同的代码

请参阅下面所附的两个版本的屏幕截图

我正在从字符串创建一个url,当我放置一个调试器并检查myUrl的值时,它显示为nil,尽管在下一行它通过了nil检查,并且控制进入notnil情况

也可以看到控制台

有没有人已经面临过这类问题?或者我做错了什么

注意:已经清除缓存,派生数据,清理构建,重新启动Xcode。不要混淆断点的位置,它们都是用不同的系统捕获的

提前谢谢

我使用的是一个答案,因为评论太长,但是 这样更合适

我目前(catalina,xcode 11.1)面临着许多类似的问题,除了调试器的总体速度减慢之外

无论如何,可以肯定:

  • 检查在目标构建设置中是否禁用编译时优化以进行调试:优化级别-O0(var可能会被优化掉)
  • 这也解决了我的一些问题(禁用诊断功能使lldb速度更快,并解决了p/po和收集stacktrace的问题):

    • 这是一个已知的bug,影响LLDB(Xcode调试器)和REPL。这纯粹是一个展示的问题:

      请参阅:

      现在一个简单的解决方法是通过桥接的Objective C类型。该漏洞仅与SWIFT基金会重叠类型有关。因此,在本例中,只需将其转换为NSURL

      例如:

      但是:


      这个错误将在Xcode 12.5中修复。

      您能澄清一下吗?在您的示例中,断点似乎位于不同的位置。我猜左边的一个显示为
      nil
      ,因为它在赋值(?)之前中断,它们都来自不同的系统和不同的项目,具有Xcode 11和Xcode 10。请更新问题对不起,刚刚意识到您已进入第25行。是的,这看起来像一个bug(或者根据@jalone的回答是一个优化)。深入挖掘,这实际上是一个复制品,至少在我的案例中似乎不相关。所有这些标志和设置都已正确设置