小编MrM*_*axP的帖子

XCode 4断点没有在正确的行中断

我的断点在最新的XCode 4版本中已经停止正常工作.如果不更改项目设置,断点不会在设置的行中断.

例如,在一个函数中,我可以在它的正文中的任何位置设置断点,但代码将始终在函数的最后一行中断.

在另一个例子中,我可以在一个函数中的任何位置设置断点,代码将在同一文件中的不同函数中间的一行中断!在中断后跟踪显示它确实在错误的位置中断,并且它不仅仅是文件/调试器同步问题.

我不知道为什么这已经开始了.然而,它似乎从新的断点开始,而旧的断点工作.我添加的任何新断点都在错误的位置.最近,一些文件现在根本没有破坏!我只能假设断点是错误的,它被转移到未被调用的代码中.我已经针对这个问题进行了大量的互联网搜索和论坛搜索,虽然我找到了类似问题的人,但是没有解决方案或列出的解决方案(重启设备,交换调试输出,关闭优化等)都没有工作为了我.

值得一提的是,我主要使用.mm文件在C++中编码.在XCode 3的过去一年的开发中,以及在XCode 4中的最后几个月,一切都很好!我正确调试设置.在调试运行时没有优化,没有死代码剥离,我正在使用带有DWARD的LLVM编译器2.0和dSYM调试文件.但是,更改这些值没有任何区别.

请帮忙,这让我发疯!

对此的更新.它开始在一台全新的Lion和xcode安装的全新机器上再次发生.整个编辑都没有成功.以下示例出现在错误的行上的错误.

错线上的错误!

breakpoints xcode4

6
推荐指数
1
解决办法
4452
查看次数

XCode不会破坏#include'dCPP文件

如果您包含来自另一个CPP文件的CPP文件,则XCode拒绝在所包含的CPP文件中的任何断点处中断.我将提出一个与苹果公司的错误,但只是想在这里提一下,以防其他人遇到这个并且可能找到方法.

您可能希望在CPP文件中包含CPP文件有很好的理由,我不会在此处介绍.可以说,我不能简单地重新安排项目直接编译包含的文件.

示例:一个非常简单的iPhone项目

main.mm

extern void FunctionInSource1( int a );

int main(int argc, char * argv[])
{
    FunctionInSource1( 1 );

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

source1.cpp

#include "source2.cpp"

void FunctionInSource1( int a )
{
    int b = a;

    FunctionInSource2( b );

    return;
}
Run Code Online (Sandbox Code Playgroud)

source2.cpp

void FunctionInSource2( int b )
{
    int c = b;

    c = c + 1;

    return;
}
Run Code Online (Sandbox Code Playgroud)

main.mm和source1.cpp是目标的成员,即它们被设置为build.source2.cpp不是目标的成员,除非通过包含在source1.cpp中,否则不会编译

在source2.cpp中的任何位置设置断点都无法触发.其他地方的断点工作正常.NB你仍然可以从source1.cpp步入source2.cpp,例如,不要直接在source2.cpp中断

如果有人提出解决方案,我会很高兴听到它.

马克斯

c++ xcode breakpoints include

6
推荐指数
1
解决办法
2147
查看次数

XCode 4.6断点不起作用

我刚刚升级到XCode 4.6和iOS 6.1,断点已停止在模拟器(未经测试的设备)中工作.将调试器更改为GDB会修复它,但我通常使用LLDB.

项目中没有任何内容发生变化,它们在升级后就停止了工作.我已经清理并删除了派生数据并检查了所有调试设置,但没有任何错误.

还有其他人得到这个吗?

马克斯

xcode breakpoints

5
推荐指数
1
解决办法
4406
查看次数

使用XCode for iOS的编译/运行时间非常慢

我有一个项目,有很多非常大的媒体资产,总计几千兆字节.构建/下载/运行时间非常慢,即使我什么都不做.在iPad上进行干净的构建/下载/运行可能需要20分钟,但即使只是调试而无需更改也可能需要5分钟或更长时间.似乎瓶颈在于它确定了哪些新资产需要复制.删除大多数资产可加快构建/下载/运行周期.我目前的解决方法是使用资产构建,从项目中删除它们,并且由于资产没有从设备中清除,只要我不需要资产更新,我就可以使用快速构建时间.

我认为其他人之前有过这个问题,我想知道人们有什么修复/解决方法.

我有一些想法,我没有足够的研究来知道它们是否可行.

1)有两个项目,一个是资产,另一个是代码,都使用相同的应用程序ID,因此它们都编译到设备上的同一个应用程序文件夹.资产更改时使用资产构建,一般工作时使用代码构建.

2)越狱我的iPad,以便我可以根据需要直接将资源下载到app文件夹中,只需构建代码

3)使用微小的占位符资产并偶尔测试实际资产.

任何帮助将非常感激.

马克斯

iphone xcode build ipad ios

4
推荐指数
1
解决办法
3077
查看次数

标签 统计

breakpoints ×3

xcode ×3

build ×1

c++ ×1

include ×1

ios ×1

ipad ×1

iphone ×1

xcode4 ×1