ios - 为什么此代码在分布式应用程序上崩溃但在调试器中工作?
<p><p>我有简单的代码可以执行,如果它崩溃了,我想捕获异常,这样应用就不会崩溃。</p>
<pre><code>@try {
x = ;
} @catch (NSException* e) {
NSLog(@"Exception");
}
</code></pre>
<p>虽然此代码在调试中工作并捕获异常(这是一个超出数组末尾的简单索引),但它在 iPhone 上的分布式应用程序中崩溃。</p>
<p>为什么会这样?如何确保它也适用于分布式应用程序?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>未捕获的应用程序级异常只是导致崩溃的原因之一。 BSD 信号,如 EXC_BAD_ACCESS,也可能导致崩溃 - 捕获 NSExceptions 并不能阻止这些。</p>
<p>不知道 try_doMyWork: 的细节就无法说出具体的崩溃是什么,但我认为 C 层(不是 Objective-C 层)崩溃的最常见原因是内存管理问题 - 尝试编写或阅读您的应用不应该访问的内容。最可能的解释是您在调试中看到的异常与您在分发中看到的错误不同。</p></p>
<p style="font-size: 20px;">关于ios - 为什么此代码在分布式应用程序上崩溃但在调试器中工作?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/15714255/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/15714255/
</a>
</p>
页:
[1]