使用不同的构建配置时,Xcode调试器值为nil

时间:2014-03-27 19:46:05

标签: ios objective-c xcode debugging

我决定使用连接到不同构建配置的不同方案为同一应用程序目标管理不同的PREPROCESSOR定义。 意思是我复制了Debug构建配置并为其指定了一个新名称(例如Staging)。 后缀定义了为每个新构建配置定义的预处理器宏。 设置一个新的共享方案,即"运行" step使用新的" Staging" (调试重复)我刚刚创建的构建配置。 该应用程序运行罚款,但我注意到调试器值都是零。 将方案设置为从" Debug"构建配置一切都很好。 新的构建配置是Debug的完整副本,并且定义了一个额外的预处理器宏。 将Debug构建配置重命名为其他任何内容时也会发生这种情况。

有没有办法让调试器使用不同的(启用调试的)构建配置?

3 个答案:

答案 0 :(得分:1)

您可能已启用该构建方案的优化。当我在我的归档方案中运行我的应用程序时总是启用了优化。

检查方案的运行配置并在那里打开调试。 (运行 - >信息 - >构建配置)

答案 1 :(得分:0)

您如何设置预处理器宏?

你应该这样做:

项目>选择想要的目标>构建设置>搜索'预处理器宏' >添加宏   - 我正在使用PRD_BUILD || BETA_BUILD || DEMO_BUILD || DEV_BUILD

然后你必须检查你实际运行的是什么:

#if PRD_BUILD || BETA_BUILD || DEMO_BUILD
 code
#elif STG_BUILD
code
#else
code
#endif

答案 2 :(得分:0)

我遇到了与Xcode 6.3.1(6D1002)相同的问题。我有一个精确复制默认“调试”配置的配置,但不时调试器窗口显示nil值(虽然从程序流中可以清楚地看到值实际存在)。我不知道如何解决这个问题,因为每个被问到这个问题的人都会让你关闭像Captain Obvious这样的编译器优化。