为什么我的断点不起作用?
我设置了断点,但是Xcode似乎忽略了它们。
解决方案
回答
转到" Xcode调试"首选项。
回答
确保未选择"延迟加载符号"。
设置断点时,右键单击,我们将获得有关断点处理方式的几个选项(记录变量并继续操作,暂停执行等)
还要确保在调试首选项中未选择"延迟加载符号"。
回答
(适用于Xcode 3.1,不确定过去/将来的版本)
首先,我100%同意早期的人所说的"懒惰地加载符号"。
我还有两件事要补充。
- 确保我们没有意外地将" Active Build Configuration"设置为" Release"。
- 在项目的图形树显示中的"目标"下,右键单击目标并执行"获取信息"。查找一个名为" Generate Debug Symbols"(或者类似名称)的属性,并确保已选中该属性(也称为" ON")。另外,我们可以尝试查找(也在Target >> Get Info中)名为" Debug Information Format"的属性,并将其设置为"带有dsym文件的矮人"。
(我的第一个建议听起来很明显,但是第一次有人向我建议时,我的反应是这样的:"来吧,请,我们真的以为我不会更好……哦。")
回答
在目标>>获取信息下还有许多其他属性可能会影响我们。寻找诸如优化或者压缩代码之类的东西,然后将其关闭(我假设我们正在调试模式下工作,因此这不是不好的建议)。另外,查找诸如剥离符号之类的内容,并确保其也处于关闭状态。例如,对于调试目标,应将" Strip Linked Product"设置为" No"。
回答
我没做过Xcode,但是我建议我们禁用" Zerolink"和"懒惰地加载符号";可以解决大多数问题。无论如何,Zerolink都是可憎的。
Xcode中的断点似乎有3种状态。如果单击它们,它们将进行不同的设置。启用了深蓝色,禁用了灰色,有时我看到浅蓝色,这需要我再次单击断点才能使其变为深蓝色。
回答
除此之外,请确保我们使用debug命令而不是run命令启动它。我们可以通过点击选项+命令+回车,或者从运行菜单中选择执行(调试)选项来执行此操作。
我在Xcode(2.4.1)中遇到很多断点问题。我使用的项目仅包含其他项目(例如Visual Studio中的解决方案)。我有时发现断点根本不起作用,除非在启动项目中至少设置了一个断点(即包含我的代码入口点的断点)。如果仅有断点在"较低级别"的项目中,它们将被忽略。
当我们在包含断点所在的源代码行的项目中操作断点时,似乎Xcode也只能正确处理断点操作。
回答
如果我尝试通过另一个项目删除或者禁用断点,则该操作有时不会生效,即使调试器指示已生效。因此,我会发现自己在禁用的断点或者先前删除的(现在不可见)的断点处中断。
回答
我认为,就断点而言,一个项目也可能会遭到破坏。例如,我有一个项目,它将不会在上一个会话中记住的任何断点上中断。我首先在这里写了这个
回答
我的断点无法正常工作,然后完成"构建/清理所有目标"以使其重新工作。
回答
此外,请确保该应用程序的AppStore分发版本也未安装在设备上。
- 退出Xcode
- 打开一个终端窗口并cd到项目目录
- cd进入.xcodeproj目录
- 删除除.pbxproj文件之外的所有内容(我有frank.mode1v3和frank.pbxuser)
我只是再次遇到了同样的问题。在对"懒惰地加载符号"进行三次检查并剥离和调试信息生成标志之后,我执行了以下操作:
我们可以通过右键/选项单击.xcodeproj捆绑包并选择"显示包内容"来在finder中完成相同的任务。
回答
当我重新启动Xcode时,我所有的窗口都已重置为默认位置,等等,但是断点起作用了!
回答
要检查的另一件事是,如果我们有一个用于调试模式的"授权" plist文件(可能是因为我们正在使用钥匙串做事),请确保该plist文件具有" get-task-allow" = YES行。没有它,调试和日志记录将被破坏。
回答
看到这篇文章:断点不能在Xcode中工作?在这种情况下,程序可能无法在gdb的帮助下运行,因此我们可能会推" Run"而不是" Debug",在这种情况下,我们不能指望断点起作用!
回答
我有Xcode 3.2.3 SDK 4.1断点将随机失败。我发现如果我们清理构建并在构建下使用touch命令,它们将再次起作用。
段落数量不匹配