首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >让iOS应用崩溃的可靠方法是什么?

让iOS应用崩溃的可靠方法是什么?
EN

Stack Overflow用户
提问于 2012-11-22 18:25:07
回答 18查看 30.8K关注 0票数 136

我想要在现场测试我的应用程序的崩溃报告,当用户执行一个真正的用户不太可能无意中做的特定操作时,故意让它崩溃。

但是,有什么可靠的好方法可以让应用程序崩溃,而不会在编译时产生警告呢?

编辑:请注意,这个问题的许多看似显而易见的答案都会导致异常,这些异常会被Cocoa捕获,因此不会导致应用程序崩溃。

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2012-11-22 18:36:47

在Objective-C中,直接使用C会导致错误访问

代码语言:javascript
复制
strcpy(0, "bla");

注意:虽然这可以在我所知道的任何系统上运行--在未来版本的C运行时或编译器中,这可能不会再导致崩溃。参见)

(在swift中,你必须桥接到objC才能做到这一点)

票数 141
EN

Stack Overflow用户

发布于 2012-11-22 18:39:00

我现在最喜欢的:

代码语言:javascript
复制
assert(! "crashing on purpose to test <insert your reason here>");

一个经典的例子:

代码语言:javascript
复制
kill( getpid(), SIGABRT );

和一些pr0n:

代码语言:javascript
复制
*(long*)0 = 0xB16B00B5;

它们都会生成我的崩溃报告工具所捕获的崩溃。

票数 98
EN

Stack Overflow用户

发布于 2012-11-23 12:14:20

因为我们都使用Clang for iOS,所以这是相当可靠的:

代码语言:javascript
复制
__builtin_trap();

这样做的好处是它就是为这个目的而设计的,所以它不应该生成任何编译器警告或错误。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13510584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档