调试时XCode调试与发布版本

Alv*_*par 21 iphone macos xcode

好吧,我想我现在已经看到了这一切.

大约24小时我一直试图调试我的应用程序,试图找到所有奇怪的崩溃突然来自哪里.我一直在通过模拟器/调试模式进行调试.像往常一样,当我遇到一个断点时,我可以看到变量的值(大部分时间).然后突然我无法查看变量,无论我做了什么(顺便说一下,我正在谈论鼠标悬停,因为一些愚蠢的原因我的xcode禁用了调试菜单中的所有调试工具).

长话短说,出于绝对丢失的事情,我决定使用发布模式进行调试.现在我可以点击断点并查看变量的内容.更令人困惑的是,现在xcode为我提供了一个更全面的视图,可以看到我正在"观察"(悬停)的变量.

我知道Apple喜欢做不同的事情.但到底是什么!?有人可以打我,然后告诉我我在这里不理解什么?

Dar*_*ust 30

首先,配置"Debug"和"Release"只是名称,如果需要,您也可以将它们命名为"Jon"和"Carla".它们只是您可以修改的配置集的名称,您可以调整它们,例如"Debug"配置不再适合调试.因此,如果您(意外地)禁用在"调试"配置中生成调试符号,您将得到您所描述的内容.

转到"项目" - >"编辑活动目标".选择"Build"选项卡,然后在左上角的下拉框中选择"Debug"配置.在下面的下拉框中选择"显示所有设置",然后在这两个下拉框旁边的搜索栏中输入"debug".

应该有一个"生成调试符号"设置,确保设置了它的复选框."调试符号级别"应设置为"所有符号".此外,"调试信息格式"应设置为"DWARF with dSYM file".

更改设置后,清理项目("构建" - >"清理")并再次构建.

希望有所帮助.

  • [DWARF](http://en.wikipedia.org/wiki/DWARF)是一种调试文件格式.dSYM(调试符号)目录/包是Apple组织/存储DWARF文件的方式,因此可以将调试符号与二进制文件分开(而不是将调试符号嵌入到二进制文件中).分离允许您在没有调试符号的情况下发布应用程序,但如果您收到崩溃日志或需要调试应用程序,您仍然可以使用调试符号. (5认同)