我正在 XCode 版本 15.0.1 中使用 C++ 进行编码并处理内存。当我尝试运行我的代码时,它第一次完美无缺,一切都按照我的预期运行。但是,当我尝试第二次运行时,如果我在上次运行中调用 print_all 函数,它就会崩溃。并给出这个错误,
异常类型:EXC_CRASH (SIGABRT) 异常代码:0x0000000000000000、0x0000000000000000
终止原因:命名空间 SIGNAL,代码 6 中止陷阱:6 终止进程:Xcode [659]
应用具体信息: 调用 abort()
这是 print_all 函数:
void print_all(airline *head){
airline *temp=head;
while(temp){
cout<<"\n###################################"<<endl;
cout<<"### AIRLINE ID: " << temp->ID <<" ###"<<endl;
cout<<"NAME:"<<temp->name<<endl;
cout<<"FLIGHTS: ";
flight *Tempflights= temp->flights;
while(Tempflights){
cout<<"#["<<Tempflights->ID<<"|"<<Tempflights->from<<"->"<<Tempflights->to<<"|"<<Tempflights->hour<<":"<<Tempflights->min<<"|"<<Tempflights->price<<"TRY]#";
Tempflights=Tempflights->next;
}
temp=temp->next;
}
}
这发生在特定项目中,以及我为第一次运行提供的特定输入。
我重新启动了 Mac 并删除了导出数据文件。我尝试打开新项目,但发生了同样的事情。
我登录了appstoreconnect。
我的一个朋友在 swift 和 xCode 中遇到了非常相似的问题。我们运行了一些测试,发现只要项目的一个文件中运行 2 个重复的 while 循环,xcode 就会崩溃,并出现与此处相同的错误。 第一次构建运行得很好,但是当我们尝试第二次构建时它崩溃了。解决方法是每次都进行干净构建,但这根本不是一个令人满意的工作流程。