Iphone Xcode 4.2未正确调试
我已经导入了一个为iOS开发的iPhone应用程序,现在正在维护它。我在尝试添加到iPhone日历时遇到了几个bug,我很乐意尝试通过一些调试来解决这些bug 一个问题是,当我在iPhone模拟器上运行应用程序时,它似乎运行的应用程序版本比我正在运行的版本旧。从那时起,我删除并添加了另一个按钮,当我在模拟器中运行它时,旧按钮仍然显示。但是,当我在设备上编译并运行它时,它会加载正确的版本,并在“关于”视图中显示正确的版本号 但是。。。我的主要问题是,它似乎没有在设备上正确调试。除了日历问题之外,这个应用程序实际上运行得很好,但是如果我设置了一些断点,这样我就可以准确地看到哪里出了问题,它似乎无法通过!应用程序暂停,Xcode表示应用程序已暂停!我可以按step over和continue execution等键,它似乎可以工作,但我看不到它在代码上移动,也不能将鼠标悬停在变量上查看它们的值 我已经多次尝试重新安装Xcode(我在安装旧版本时确实遇到问题,所以我必须等到下一个版本可用后才能安装Xcode) 压力是:今天是我工作的最后一天,我真的很想在离开之前为iOS 5准备好这个应用程序 以前有人见过这些症状吗?是否有我错过的调试设置?或者它是一个损坏的安装 我希望我能帮助人们了解更多的信息,但我甚至不知道从哪里开始寻找。有我能发布的代码吗?有什么设置吗?(对此不太熟悉,我通常是.NET的人)Iphone Xcode 4.2未正确调试,iphone,ios,xcode,Iphone,Ios,Xcode,我已经导入了一个为iOS开发的iPhone应用程序,现在正在维护它。我在尝试添加到iPhone日历时遇到了几个bug,我很乐意尝试通过一些调试来解决这些bug 一个问题是,当我在iPhone模拟器上运行应用程序时,它似乎运行的应用程序版本比我正在运行的版本旧。从那时起,我删除并添加了另一个按钮,当我在模拟器中运行它时,旧按钮仍然显示。但是,当我在设备上编译并运行它时,它会加载正确的版本,并在“关于”视图中显示正确的版本号 但是。。。我的主要问题是,它似乎没有在设备上正确调试。除了日历问题之外,这
谢谢 对不起,康奈尔,你正在经历一个艰难的时刻;正如你所说,你对这一切都不太熟悉,我正在制定一些步骤,可能会对你有所帮助。有些是非常基本的,是的,但当我遇到类似的场景时,我自己已经多次下定决心执行这些步骤
- 如果您在模拟器上进行测试,请从“iOS模拟器”主菜单执行“重置内容和设置”。这将删除所有旧数据和设置,给您一个干净的开始
- 从“构建”菜单中执行“清除所有目标”。然后转到物理项目文件夹,在重新开始生成之前,将生成文件夹从中完全删除
- 重新启动XCode和模拟器(如果可能,也重新启动Mac)
- 确保模式设置为调试,而不是发布或分发
- 即使在设备上,在安装新应用程序之前也要先删除旧应用程序,然后重新启动它
- 从设备中删除所有配置文件,并只安装所需的配置文件
- 我注意到,当我在代码中意外地创建了一个无限循环时,应用程序似乎会像这样“暂停”几次。仔细检查是否有可能导致这种情况
- 除非您还没有这样做,否则在那里抛出一两个NSLog,看看它是否真的没有在断点之外执行
- 如果您在模拟器上进行测试,请从“iOS模拟器”主菜单执行“重置内容和设置”。这将删除所有旧数据和设置,给您一个干净的开始
- 从“构建”菜单中执行“清除所有目标”。然后转到物理项目文件夹,在重新开始生成之前,将生成文件夹从中完全删除
- 重新启动XCode和模拟器(如果可能,也重新启动Mac)
- 确保模式设置为调试,而不是发布或分发
- 即使在设备上,在安装新应用程序之前也要先删除旧应用程序,然后重新启动它
- 从设备中删除所有配置文件,并只安装所需的配置文件
- 我注意到,当我在代码中意外地创建了一个无限循环时,应用程序似乎会像这样“暂停”几次。仔细检查是否有可能导致这种情况
- 除非您还没有这样做,否则在那里抛出一两个NSLog,看看它是否真的没有在断点之外执行
- 对不起,康奈尔,你在那里经历了一个艰难的时刻;正如你所说,你对这一切都不太熟悉,我正在制定一些步骤,可能会对你有所帮助。有些是非常基本的,是的,但当我遇到类似的场景时,我自己已经多次下定决心执行这些步骤
可能值得一试。我在一个项目中遇到了完全相同的问题,我从xcode 3开始,然后切换到xcode 4。对我来说,修复它的是在项目设置中更改编译器 xcode 3之前的默认编译器是gcc,而xcode 4上的默认编译器是LLVM gcc 现在,我不知道gdb在LLVM gcc中会有什么问题,但是在我的项目设置中将编译器切换回gcc并进行干净的构建修复了我的调试问题
可能值得一试。您是否检查了使用GDB或LLDB的调试器?从“产品”菜单中选择“编辑方案”,然后查看调试方案下的调试器设置。您可以尝试在GDB、LLDB和None之间切换并在两者之间运行。您是否检查了使用的是GDB或LLDB的调试器?从产品菜单中选择编辑方案,并参见