C ++程序在命令行上运行但在Xcode上失败

时间:2014-06-27 12:34:21

标签: c++ ios xcode c++11 clang

我有一个广泛使用libxml2的C ++静态库。我使用Google Test测试它,这意味着我构建了一个命令行可执行文件,用于调用单元测试。命令行应用程序完美运行,所有输出都符合预期。

我通过复制源文件将库转移到Xcode中的iOS项目。我构建它并从扩展名为.mm的文件中调用C ++源文件。我已将Xcode的C ++语言方言设置为c++11,将C ++标准库设置为LLVM

要构建命令行,我会传递这些开关:-Wno-attributes -g -Wall -std=c++11 -stdlib=libc++ -Wunused -D_GLIBCXX_USE_NANOSLEEP -m64

我的问题是,一旦我调用iOS应用程序,它就会无声地崩溃。在整个代码中使用NSLog语句进行的一些穴居人调试表明,某些变量可能为空。问题是完全相同的输入会使Xcode上的应用程序崩溃,但不会在控制台上崩溃。

调试此内容的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

尝试从xcode激活所有内存管理检查。来自Project>方案>编辑方案...单击左侧列表中的“运行”项。然后单击“诊断”。