chore(ModCrash): 崩溃识别增加

This commit is contained in:
wyc-26
2025-08-13 10:12:38 +08:00
parent 273cee69e5
commit 02c766ac08
@@ -341,6 +341,7 @@ Extracted:
''' 导致崩溃的原因枚举。 ''' 导致崩溃的原因枚举。
''' </summary> ''' </summary>
Private Enum CrashReason Private Enum CrashReason
Java虚拟机参数有误
Mod文件被解压 Mod文件被解压
MixinBootstrap缺失 MixinBootstrap缺失
内存不足 内存不足
@@ -488,6 +489,7 @@ Done:
'游戏日志分析 '游戏日志分析
If LogMc IsNot Nothing Then If LogMc IsNot Nothing Then
If LogMc.Contains("Unrecognized option:") Then AppendReason(CrashReason.Java虚拟机参数有误)
If LogMc.Contains("Found multiple arguments for option fml.forgeVersion, but you asked for only one") Then AppendReason(CrashReason.版本Json中存在多个Forge) If LogMc.Contains("Found multiple arguments for option fml.forgeVersion, but you asked for only one") Then AppendReason(CrashReason.版本Json中存在多个Forge)
If LogMc.Contains("The driver does not appear to support OpenGL") Then AppendReason(CrashReason.显卡不支持OpenGL) If LogMc.Contains("The driver does not appear to support OpenGL") Then AppendReason(CrashReason.显卡不支持OpenGL)
If LogMc.Contains("java.lang.ClassCastException: java.base/jdk") Then AppendReason(CrashReason.使用JDK) If LogMc.Contains("java.lang.ClassCastException: java.base/jdk") Then AppendReason(CrashReason.使用JDK)
@@ -946,6 +948,8 @@ NextStack:
For Each Reason In CrashReasons For Each Reason In CrashReasons
Dim Additional As List(Of String) = Reason.Value Dim Additional As List(Of String) = Reason.Value
Select Case Reason.Key Select Case Reason.Key
Case CrashReason.Java虚拟机参数有误
Results.Add("由于 Java 虚拟机参数有误,导致游戏无法继续运行。\n请检查高级启动选项中设置的 Java 虚拟机参数是否有误。")
Case CrashReason.Mod文件被解压 Case CrashReason.Mod文件被解压
Results.Add("由于 Mod 文件被解压了,导致游戏无法继续运行。\n直接把整个 Mod 文件放进 Mod 文件夹中即可,若解压就会导致游戏出错。\n\n请删除 Mod 文件夹中已被解压的 Mod,然后再启动游戏。") Results.Add("由于 Mod 文件被解压了,导致游戏无法继续运行。\n直接把整个 Mod 文件放进 Mod 文件夹中即可,若解压就会导致游戏出错。\n\n请删除 Mod 文件夹中已被解压的 Mod,然后再启动游戏。")
Case CrashReason.内存不足 Case CrashReason.内存不足