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