Xcode 7 beta调试器没有在Swift代码的断点处显示变量值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode 7 beta调试器没有在Swift代码的断点处显示变量值相关的知识,希望对你有一定的参考价值。

我试过here问题的答案,但没有一个帮助:(

我已经安装了Xcode 7 beta 5,调试器在调试swift代码时不会显示变量值。它在Obj-C代码中工作正常。

我已经尝试将编译器优化级别更改为无,但它没有效果。

enter image description here

答案

我仍然在XCode 7.0的最终版本中发现了这个问题。事实证明我的桥接头需要更新,因为其中不再需要其中一个引用。

我发现在调试器中使用'po'作为其中一个变量,例如'po self.views'。然后调试器为我列出了桥接头中的所有错误。奇怪的方法找出问题,但它的工作原理。

编辑:以防万一在修复任何问题后做一个干净的构建

另一答案

这可能是由于Swift和Objective-C之间的桥接文件存在问题,例如文件{projectName} -Bridging-Header.h。为了确保这一点:

1-在要调试的位置添加断点。

2-到达断点后,在xCode调试输出窗口中的任何对象上写入lldb命令po。例如 :

po self.view

如果有问题你应该看到它的日志,希望你可以去解决它

另一答案

Apple在Xcode 7 Beta 6中解决了这个问题

Twitter开发者:https://twittercommunity.com/t/xcode-7-debugger/50792有一个关于这个问题的链接

另一答案

@Breek链接的线程包含解决方案 - Twitter已经发布了针对此的修复程序。将Crashlytics从3.1.x升级到3.2修复了Xcode 7 GM种子上的调试器。如果由于某种原因您无法升级Crashlytics,您应该能够将线程中指示的头文件编辑为临时解决方法;也就是说,将Crashlytics.h中的#import <Fabric/FABAttributes.h>改为@import Fabric;

另一答案

我遇到过同样的问题。我在这里从这个链接解决了它:

Swift debugger does not show variable values when importing ObjC framework

首先尝试在子文件夹中移动所有.framework,因为这篇文章的作者说:

我从Apple开发人员那里得到一条消息,说他们已经观察到了这个问题,并且可以通过将.framework移动到项目的子文件夹来修复它。显然,只有当.framework与.xcodeproj又名$(PROJECT_DIR)在同一文件夹中时,才会出现模块..内置目录错误。

但就我而言,主要问题是OpenTok框架。我在断点中添加动作后

po self 

日志显示消息:

警告:模块myapp中的Swift错误:Swift在构造此模块的ast上下文时出现致命错误:: 1:9:注意:包含在文件中:1:#import“/ Users / me / Developer / myapp-ios / Pods / OpenTok / OpenTok.framework /头/ OpenTok.h”

最后我在Podfile中添加了这些代码行:

post_install do |installer|
  `find Pods -regex 'Pods/OpenTok.*.h' -print0 | xargs -0 sed -i '' 's/(<)OpenTok/(.*)(>)/"2"/'`
end

最后,pod install

另一答案

我有同样的问题。原因是因为我使用的是Crashlytics,这是一个ObjC框架。

尝试删除一些ObjC框架,然后shift + cmd + k清理您的项目并重新生成它。

它应该在那之后工作。

另一答案

转到项目 - >目标 - >构建设置 - >优化级别 - >调试并将值设置为您想要的任何值

另一答案

删除Fabric / Crashlytics为我做了这件事。我可以肯定地说,并非所有ObjC导入都会导致此问题。我仍然在我的Swift项目中使用其他一些但由于某些原因Crashlytics在最新测试版中引起了一些问题。我早期也遇到了编译器错误,我不得不关闭bitcode项目甚至编译。

以上是关于Xcode 7 beta调试器没有在Swift代码的断点处显示变量值的主要内容,如果未能解决你的问题,请参考以下文章

在 XCode 6 beta 7 中从 Swift 在 iOS 中打印

在 Swift 2 Xcode 7 Beta 4 中设置基于位置的提醒时出错

_BSMachError XCode 7 Beta

分析 Swift 时如何加载调试符号

iOS开发周报:Xcode 7.3 beta 和 iOS 9.3 beta 发布,是否会带来教育行业的改变

我的空 swift 应用程序在部署目标 7.1 的 xcode6-beta 上崩溃