我有一个广泛使用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上崩溃,但不会在控制台上崩溃。

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

最佳答案

尝试从xcode激活所有内存管理检查。在项目>方案>编辑方案中…单击左侧列表中的运行项。然后单击诊断。

关于c++ - C++程序在命令行上有效,但在Xcode上失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24451981/

10-11 00:38
查看更多