EXC_BAD_ACCESS(代码= EXC_ARM_DA_ALIGN)仅在从Xcode运行设备上的app时

时间:2015-08-19 07:14:20

标签: ios iphone swift

我在我的应用程序上遇到一个非常奇怪的EXC_BAD_ACCESS(Code=EXC_ARM_DA_ALIGN)崩溃,这是用swift编写的,但只有当我在32位设备上运行它时才会从Xcode运行(该设备仍然挂在Xcode上) ),如果我没有Xcode启动应用程序,它运行正常。我无法提供任何代码,因为无论我做什么,我都没有得到堆栈跟踪或类似的东西。只有AppDelegate上的提及错误,即使崩溃在应用程序中的不同屏幕中进一步(在第二个屏幕上崩溃)。

任何想法为什么只有在Xcode运行应用程序时才会发生崩溃

3 个答案:

答案 0 :(得分:0)

您正在使用一些尚未初始化的变量或对象。请检查您的代码,您将收到错误消息。您可以添加异常断点以获取错误的实际位置。

答案 1 :(得分:0)

这是内存对齐问题。在EXC_ARM_DA_ALIGN上搜索。

https://brewx.qualcomm.com/bws/content/gi/common/appseng/en/knowledgebase/docs/kb95.html

答案 2 :(得分:0)

使用memcpy

 char*Code; int pc;
 double f;

 memcpy(Code+pc, &f, sizeof(f)); // instead of *(double*)(Code+pc)=f; that generates EXC_ARM_DA_ALIGN