首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使C#应用程序崩溃

如何使C#应用程序崩溃
EN

Stack Overflow用户
提问于 2013-08-01 14:23:07
回答 14查看 27.9K关注 0票数 11

我想测试我的应用程序崩溃转储是否可以调试。但是首先,我需要生成我的应用程序的崩溃转储。我正在使用C#对我的应用程序进行编码,并且尝试了很多例外和不安全的代码等等,但是没有得到它。

谢谢!

编辑:对不起,我忘了一些东西,我正在用Unity3D制作应用程序,它会自动为我处理异常。

编辑2:感谢大家的回答。我已经在一个标准的C#应用程序中测试了您的建议,这一切都很好,但在我的Unity3D应用程序(用C#编写)中却不是这样。似乎Unity3D需要更多的努力才能导致崩溃,我可能会给Unity3D发电子邮件以得到答案。如果我拿到的话我会在这里发邮件。干杯!

EN

Stack Overflow用户

发布于 2016-08-22 22:12:49

井。真正有效的100%崩溃CLR的唯一方法是将本机异常注入托管世界。

直接调用Kernel32.dll的RaiseException()将立即使任何C#应用程序崩溃,同时还会导致Unity崩溃。

代码语言:javascript
复制
[DllImport("kernel32.dll")]
static extern void RaiseException(uint dwExceptionCode, uint dwExceptionFlags,  uint nNumberOfArguments, IntPtr lpArguments);

void start()
{
    RaiseException(13, 0, 0, new IntPtr(1));
}

愉快的崩溃。请注意,为了调试本机和托管的,需要运行两个Visual实例。如果您正在开发本机P/INVOKE插件,请将Visual实例1设置为本机调试器,并将统一程序或C#程序用作宿主程序,并从另一个Visual实例附加到主机程序。

票数 8
EN
查看全部 14 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17996738

复制
相关文章

相似问题

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