fie*_*hao 10 c# crash unity-game-engine
我想测试我的应用程序崩溃转储是否可以调试,所以我需要首先生成我的应用程序的崩溃转储,但我用C#编写它,所以任何人都知道如何触发崩溃.(实际上我测试有很多例外,不安全的代码......,但不要得到它).谢谢----对不起,对不起,我刚刚失去了一些东西:我使用unity3d构建应用程序,它将自动处理异常,并在应用程序崩溃时为我生成故障转储
谢谢大家的答案,我只是测试你所有的方法在常见的c#应用程序和所有的工作,但不是用C#编写的unity3d应用程序,似乎unity3d做得更多,我想我需要通过电子邮件发送unity3d来得到答案.如果我得到它,我会在这里发布.
Gia*_*los 21
以下将提供未处理的异常,并要求您选择调试器:
System.Diagnostics.Debugger.Launch()
Run Code Online (Sandbox Code Playgroud)
Ond*_*dar 13
StackOverflowException 是一个坏蛋:
void PerformOverflow()
{
PerformOverflow();
}
Run Code Online (Sandbox Code Playgroud)
用法:
PerformOverflow();
Run Code Online (Sandbox Code Playgroud)
对于Unity3D 中的C#
有UnityEngine.Diagnostics.Utils.ForceCrash(在 Unity 2018.3 中)
这可以与以下ForcedCrashCategory枚举参数之一一起使用:
访问违规
通过执行无效内存访问导致崩溃。 无效内存访问在每个平台上执行如下:
致命错误
使用 Unity 的本机致命错误实现导致崩溃。
中止
通过调用 abort() 函数导致崩溃。
纯虚拟函数
通过调用纯虚函数引发异常导致崩溃。
对于旧版本的 Unity:
UnityEngine.Application.ForceCrash(int mode)
对于更旧的版本(Unity 5):
UnityEngine.Application.CommitSuicide(int mode)
根据我的经验,模式 0 会导致“统一处理”崩溃(出现 Unity 崩溃对话框的地方),模式 2 会导致“硬”崩溃,出现 Windows 错误对话框。
这似乎一致这篇文章由Smilediver上mode:
0 - 将模拟崩溃,1 - 将模拟 Unity 捕获的致命错误,2 - 将调用 abort()。
(这些方法没有记录在案,因为它们是供 Unity 内部使用的。它们也可能[Obsolete]根据您的 Unity 版本进行标记。)
一个可靠的方法如下:
ThreadPool.QueueUserWorkItem(new WaitCallback(ignored =>
{
throw new Exception();
}));
Run Code Online (Sandbox Code Playgroud)
所有其他人都可以通过顶级ApplicationDomain.OnUnhandledException等处理.
这个会死掉它(假设是.NET 2.0+,而不是使用'legacyUnhandledExceptionPolicy':http://msdn.microsoft.com/en-us/library/ms228965.aspx).
好.唯一好的100%方式实际崩溃CLR是将一个本机异常注入托管世界.
直接调用Kernel32.dll的RaiseException()会立即崩溃任何C#应用程序和Unity Editor.
[DllImport("kernel32.dll")]
static extern void RaiseException(uint dwExceptionCode, uint dwExceptionFlags, uint nNumberOfArguments, IntPtr lpArguments);
void start()
{
RaiseException(13, 0, 0, new IntPtr(1));
}
Run Code Online (Sandbox Code Playgroud)
快乐崩溃.请注意,为了调试本机和托管,您需要运行两个Visual Studio实例.如果您正在开发本机P/INVOKE插件,请将其设置为Visual Studio Instance 1是本机调试器并使用Unity或您的C#程序作为Host程序,并从另一个Visual Studio实例连接到Host程序.
| 归档时间: |
|
| 查看次数: |
17913 次 |
| 最近记录: |