Xcode 8断点在文件中不起作用

Der*_*ter 19 debugging xcode breakpoints ios swift

我有一个文件,SignInViewController.swift在我的Xcode项目中,无处不在已经开始没有停在断点上.我有一个断点viewDidLoad()和一些viewDidAppear().我print()在两个函数中都有几个调用来确保它们正在执行.断点在其他文件中工作正常,包括AppDelegate.swift.

有一点,当我试图找出错误的地方时,我注意到在我构建项目的过程中出现错误Invalid redeclaration of 'signInViewController.swift'然后在构建完成之前消失,应用程序运行良好,除了文件中的断点.signInViewController.swift是我几个月前重命名之前的文件的旧名称SignInViewController.swift.我之前没有看到断点问题,因为我已经清理了项目的构建文件夹和Xcode的派生数据,我无法复制.我觉得这是问题的因素,但我不确定如何/为什么.

无论如何,这是我已经尝试过的事情.他们中的大多数只是针对一般不起作用的断点,但我想我应该列出它们,即使情况并非如此:

  1. 清洁项目
  2. 清理构建文件夹
  3. 清除Xcode的DerivedData
  4. 确保断点已启用(Cmd Y)
  5. Build Settings设置为Debug
  6. 始终显示反汇编启用和禁用
  7. 在运行配置中启用调试

任何帮助将非常感谢.

更新1(仍然没有运气):

  1. 试图删除Xcode的偏好由neprocker的回答表明这里

更新2:

我已将断点问题隔离到just,viewDidLoad()并且viewDidAppear()文件中其他位置的断点正在运行.

更新3:

隔离到特定的代码块viewDidLoad().viewDidAppear()仍然没有工作.

Win*_*ton 25

我对旧项目遇到了同样的问题.选择产品(位于顶部菜单栏) - > Scheme - > EditScheme,我点击"Debug Executable"解决了这个问题,如图所示.也许这对其他人也有帮助.

在此输入图像描述


Ren*_*tik 17

在我的情况下断点没有在一个回调中被击中,所以我在调试的项目目标构建设置中将"Swift编译器""优化级别"更改为"无优化",并且它开始在Xcode 9.3以及AppCode中工作.

在此输入图像描述


Ren*_*iya 8

下面的补丁对我有用.从菜单栏中选择产品 - >方案 - >编辑方案 - >选择配置文件 - >将构建配置设置为BUILD.请查看下面附带的屏幕截图.

在此输入图像描述


Ali*_*zam 7

我也在 xcode 9 中处理同样的问题。

我通过以下方式解决了这个问题:

  • 使用以下终端命令删除 XCode 默认值

    defaults delete com.apple.dt.Xcode.LSSharedFileList   
    defaults delete com.apple.dt.Xcode
    
    Run Code Online (Sandbox Code Playgroud)
  • 清除(或删除)Xcode 的 DerivedData

    /Users/[Your Mac Username]/Library/Developer/Xcode/DerivedData
    
    Run Code Online (Sandbox Code Playgroud)
  • 从应用程序中删除(或卸载)Xcode.app,然后重新启动PC

  • 安装 Xcode 9 的新副本

  • [强制] 为您的应用项目设置用户权限,例如

    chmod -R 777 "/Users/[Your Mac Username]/Desktop/TestApp/"
    
    Run Code Online (Sandbox Code Playgroud)

    [其中 TestApp 是保留在桌面上的应用程序项目]

  • 打开项目并检查 Build Settings 是否设置为 Debug

  • 确保断点已启用并在代码中设置调试点


Der*_*ter 6

我不确定这是如何最终修复它但我将问题隔离到一个特定的代码块中viewDidLoad().然后我注释掉了代码并构建并运行了项目.然后我取消注释代码并构建并再次运行它并且断点有效.


小智 6

对我有帮助的是删除文件Breakpoints_v2.xcbkptlist,该文件位于目录中的项目目录(*.xcodeproj)下:xcuserdata/Fred.xcuserdatad/xcdebugger(用您的用户名替换"Fred").使用终端程序去那里.


Mag*_*nus 6

我通过转到我的Xcode项目的'Build Settings'并将'Generate Debug Symbols'设置为'Yes'来解决这个问题