1.当我的应用程序崩溃并且控制台窗口中没有消息时,Xcode在代码编辑器中显示带有签名EXC_BAD_ACCESS或PROGRAM RECEIVED SIGNAL SIGABRT的绿线。问题是:Xcode总是把这条绿线放在放置错误的代码行吗?如果我看到这条绿线放在
行[myObject myMethod];
我可以确信应该在myMethod函数中搜索bug吗?或许它可能意味着别的什么?
2.有时,这条绿线会放在<{p>}行的main.m
文件中
int retVal = UIApplicationMain(argc, argv, nil, nil);
你知道在那里放置提示的具体内容吗?这是什么意思?
3.有时候最奇怪的事情发生了:Xcode向我展示了一个带有汇编代码的文件和这段代码中的绿线。为什么?当我看到它时,我应该理解什么?
4.如果我反复执行以下操作:进入屏幕,然后执行某些操作,然后退出屏幕 - 我的应用程序崩溃。它可能会在第二次或第七次崩溃。造成这种崩溃的最常见原因是什么?内存泄漏?但Analyze告诉我,我的应用程序中没有泄漏。您认为它可能是什么?
答案 0 :(得分:1)
答案 1 :(得分:1)
第4点的简单答案:访问解除分配/过度释放内存时崩溃的最常见原因。
答案 2 :(得分:1)
正如我在另一篇文章中所说:
在XCode中,转到菜单“编辑方案”,选择正在运行的配置并添加'NSZombieEnabled',如下图所示,当您的应用程序崩溃时,它将为您提供有助于您调试崩溃的其他信息。
请注意,当您的应用程序调试结束时,请删除NSZombieEnabled命令,因为它会影响应用程序性能