本帖最后由 NoName德里奇 于 2018-10-29 13:37 编辑
什么是崩溃报告?
不少大佬遇到过游戏玩着玩着,突然游戏崩溃,跳出来一个内容乱七八糟的窗口,满纸都写着这样的东西:复制代码或者写着这样的东西:
复制代码大佬们横竖睡不着,躺着看了半夜,才从字缝里看出字来,满篇都写着三个字是“看不懂”。
有一些启动器甚至不会把这个窗口弹出来,这导致很多大佬对于自己游戏的崩溃一头雾水,拿到MCBBS来问其他大佬的时候,
却描述不出自己的游戏出了什么问题,除了“它崩溃了!”似乎什么也说不出。
这可就很难受了。MCBBS有大佬能解决你的崩溃问题,但是他们没有看到你的游戏是怎么崩溃的,不可能直接告诉你解决的办法。
而要想让他们看到你的游戏出了什么问题,最直接的就是贴上这个又长又臭的崩溃报告。
崩溃报告在哪儿?
不是所有的启动器都有自动弹出崩溃报告的功能,我也只见到PCL启动器会这样干。
它会被放在你的游戏文件夹.minecraft下的一个crash-reports文件夹,以游戏崩溃的时刻年-月-日-时-分-秒.txt格式命名。
或者不在那个文件夹里,而是以hrr_pid开头命名的一个txt文件。
这看不懂的玩意,有什么用?
用处可大了!但是首先,它得遇到一个看得懂它的人。
因此,对于实在不想读这个崩溃报告的朋友,
如果你选择在MCBBS发帖求助,应该设法让它出现在求助帖子里;
代替实际上没什么用的一句“我的MC崩溃了!救命!”,让那些有“救命”能力的大佬看到你的崩溃报告。
我常常打一个比方,去医院和医生说:“我肚子疼!”
糟了,肚子疼的病因是最复杂的(不信你可以找个医学专业的朋友或亲属验证一下
)
医生一定会问:哪儿疼?有多疼?是持续的还是一阵一阵的?
只向医生抱怨“我很难受”是治不好病的,医生还需要更加详细的信息。
对于解决Minecraft的崩溃问题,也是同样道理。而这个信息就体现在崩溃报告里。
把它贴在你的求助帖子里,可以帮助别的大佬了解你的游戏崩溃的可能原因,并提出一些靠谱的建议。
但是,如果你愿意读一读这坨报告,并有一定的技巧,你不需要懂得太多编程知识,
也可以粗略地知道自己的Minecraft出了什么问题。这个我会在后面稍微讲解一些。
我的水平也非常有限,欢迎大佬们在回复里补充,我也长长知识。
崩溃报告怎么贴比较好?
终于进入正题。直接复制粘贴在帖子里虽然也可以,但是看起来总有一点不舒服。
这里提供一个简单易行的方法,可以让大家避免上传文件和下载文件,以一种优雅的方式贴上崩溃报告。
打开这个网页:https://paste.ubuntu.com/
可以看到里面有四个框,最下面有一个“Paste!”按钮。
第一个框随便填点什么,第二行和第三行的框不用管,
把你的崩溃报告全选、复制、粘贴到最大的第四个框,然后点击“Paste!”
过了一会,会打开一个新的网页,上面是你的崩溃报告。
把这个网页的链接复制,粘贴到你的求助帖子里,就显得优雅多了。
除了把崩溃报告往求助帖子里一甩,你有没有产生过自己读读看的想法?
不要怕!点一下下面的分页按钮!
不少大佬遇到过游戏玩着玩着,突然游戏崩溃,跳出来一个内容乱七八糟的窗口,满纸都写着这样的东西:或者写着这样的东西:
大佬们横竖睡不着,躺着看了半夜,才从字缝里看出字来,满篇都写着三个字是“看不懂”。
有一些启动器甚至不会把这个窗口弹出来,这导致很多大佬对于自己游戏的崩溃一头雾水,拿到MCBBS来问其他大佬的时候,
却描述不出自己的游戏出了什么问题,除了“它崩溃了!”似乎什么也说不出。
这可就很难受了。MCBBS有大佬能解决你的崩溃问题,但是他们没有看到你的游戏是怎么崩溃的,不可能直接告诉你解决的办法。
而要想让他们看到你的游戏出了什么问题,最直接的就是贴上这个又长又臭的崩溃报告。
崩溃报告在哪儿?
不是所有的启动器都有自动弹出崩溃报告的功能,我也只见到PCL启动器会这样干。
它会被放在你的游戏文件夹.minecraft下的一个crash-reports文件夹,以游戏崩溃的时刻年-月-日-时-分-秒.txt格式命名。
或者不在那个文件夹里,而是以hrr_pid开头命名的一个txt文件。
这看不懂的玩意,有什么用?
用处可大了!但是首先,它得遇到一个看得懂它的人。
因此,对于实在不想读这个崩溃报告的朋友,
如果你选择在MCBBS发帖求助,应该设法让它出现在求助帖子里;
代替实际上没什么用的一句“我的MC崩溃了!救命!”,让那些有“救命”能力的大佬看到你的崩溃报告。
我常常打一个比方,去医院和医生说:“我肚子疼!”
糟了,肚子疼的病因是最复杂的(不信你可以找个医学专业的朋友或亲属验证一下
)
医生一定会问:哪儿疼?有多疼?是持续的还是一阵一阵的?
只向医生抱怨“我很难受”是治不好病的,医生还需要更加详细的信息。
对于解决Minecraft的崩溃问题,也是同样道理。而这个信息就体现在崩溃报告里。
把它贴在你的求助帖子里,可以帮助别的大佬了解你的游戏崩溃的可能原因,并提出一些靠谱的建议。
但是,如果你愿意读一读这坨报告,并有一定的技巧,你不需要懂得太多编程知识,
也可以粗略地知道自己的Minecraft出了什么问题。这个我会在后面稍微讲解一些。
我的水平也非常有限,欢迎大佬们在回复里补充,我也长长知识。
崩溃报告怎么贴比较好?
终于进入正题。直接复制粘贴在帖子里虽然也可以,但是看起来总有一点不舒服。
这里提供一个简单易行的方法,可以让大家避免上传文件和下载文件,以一种优雅的方式贴上崩溃报告。
打开这个网页:https://paste.ubuntu.com/
可以看到里面有四个框,最下面有一个“Paste!”按钮。
第一个框随便填点什么,第二行和第三行的框不用管,
把你的崩溃报告全选、复制、粘贴到最大的第四个框,然后点击“Paste!”
过了一会,会打开一个新的网页,上面是你的崩溃报告。
把这个网页的链接复制,粘贴到你的求助帖子里,就显得优雅多了。
除了把崩溃报告往求助帖子里一甩,你有没有产生过自己读读看的想法?
不要怕!点一下下面的分页按钮!

我想自己读读看:阅读崩溃报告的参考方法
任何崩溃报告都可以读一读,自己推测一下原因。
尤其对于那些停更、停止维护的模组,自己想办法就更加重要了。
崩溃报告这么长,全部读下来吗?我自己也做不到。
我个人的一个方法是,读重点。
接下来我将用三个案例,来介绍一些实用的方法。

案例一 - 一眼就可以看穿的崩溃原因
有些游戏崩溃报告是可以非常直接地看出崩溃原因的,例如下面这个:
Out Of Memory. 内存不足。
其他的东西什么都不需要看,就可以断定问题出在了 Minecraft 的内存空间不足上。
根据楼下 @.gooding300 大佬的补充,
内存不足分为几种不同的情况:
一种是常见的内存不足,在启动器里多给 Minecraft 分配内存,或者加内存条,或者改用独立显卡,就可以解决这个问题。
另一种是某些特殊的内存空间不足,可以参考楼下,这种情形需要用到 Java 的启动参数。
如何看出这个区别:只需要看 OutOfMemoryError: 冒号后面的东西,
它是内存不足的那个内存空间的名字,本案例当中的 Heap Space 是堆空间,
不足的解决方法就和我们平时解决内存不足的方法一样,加内存,就可以了。
是不是很简单?
我想,读到这里,你已经充满了决心。

案例二 - 容易抓住的模组崩溃
有一些安装了模组的 Minecraft 游戏崩溃了,崩溃报告还是又长又臭。
但是,高版本的 Forge 提供了一个贴心的功能:
在模组列表的开头,展示模组的加载状态,一旦某个模组出现错误,
就可以将问题的范围缩小到这几个模组上。
再去查阅这些模组的官方网站,例如 CurseForge 主页或者 GitHub,甚至百科,
就有可能找到答案。
我举一个例子:
这是我截取的崩溃报告的一段,它的上下文是崩溃的游戏所安装的所有模组列表。
Forge 把模组列表用竖线符号划分了一下,
第一列“UCH”之类的,是模组的加载状态符号;
第二列是模组的内部名称,在不打开模组的 jar 文件并进行修改的情况下,这个名字很难改动;
第三栏是模组的内部版本号,与内部名称一样不易改动。
第四栏是模组的文件名,与文件夹里它显示的名称相同,偶尔可以见到乱码。
第五栏是数字签名,此处不提。
这个状态符号怎么读?
每一份带有状态符号的崩溃报告都有一段这样的说明文字:
U 表示未加载,D 表示禁用。如果所有的模组都是 U 或者 UD,说明游戏从一开始就没有加载正常,
一般预示着一个比较严重而且怪异的问题。
A 表示可用,一般一旦出现了“UCHIJA”这样的一串,表明模组已经加载完成。
此时仍然崩溃,就可以知道不是模组冲突,而是游戏过程中发生的崩溃,
应当考虑实体出错、方块出错这样的游戏中崩溃情况了。
模组在加载时出现问题的情况,往往会出现:
UE,UCE 甚至 UCEE,以及 UCHE 等。
凡是带有“E”状态符号的都是出错的。
因此,如果你看崩溃报告,第一眼看不出来,
就用 Ctrl+F 查找功能,查找这些特定的字串。
一旦发现,你就赚大了。
案例三 - 更复杂的情形
正如一位大佬在楼下指出的那样,如果要阅读更复杂的崩溃报告,
那么要阅读的重点就在于头尾。
如果你想替别人解决问题,拿一些爱心,那你需要读一读最后的游戏运行信息,
以免别人贴了崩溃报告,你还问“MC版本?Java版本?”那就有点明知故问了。
如果你读的是自己的游戏崩溃的报告,你对自己游戏的信息应当相当清楚,甚至连尾都可以不读,
只读Description和第一个at的前一行,也就是上面这段的倒数二、三行。
同样,我举一个例子。
这个 Description 是这么一句:“org.lwjgl.LWJGLException: Pixel format not accelerated”,
机翻一下,“像素格式没有加速”?这是个什么玩意?
我们先猜猜看。像素,与图像有关;加速,图像处理有“硬件加速”,图像,硬件,可能与显卡有关。
这时候搬出搜索引擎:复制这句话,丢给百度搜索。
搜索结果是:

第二个搜索结果开篇就这样说(我画了重点)

果不其然!
我们不仅验证了猜测,而且还找到了解决问题的办法。
对这个问题,@gooding300 大佬给出的更专业的解释:http://www.mcbbs.net/forum.php?mod=redirect&goto=findpost&ptid=826103&pid=13447117
虽然有那么一点麻烦,但是这同样也是一个探索未知的过程,
算是一个硬核METAGAME吧(笑)。
选读内容 - 更高明的求助手段:向模组作者反馈
如果你知道某个模组的官方页面,比如Minecraft CurseForge,比如Minecraft Forum,
比如某些大佬在MCBBS发布了原创模组——他们如果仍然在更新和维护这个模组,
一定会留下一个联系方式:“反馈Bug请到xxx网址”。
这个网址,如果是GitHub,
(例如我们认识的交错次元模组,它的Bug反馈网址是 https://github.com/Angry-Pixel/The-Betweenlands/issues ),
那就太好了!
这种情况在1.12.2模组中非常常见。它们常常是测试版本,在不断更新和完善当中,
如果的确是模组本身的问题,
你完全可以告诉模组的作者,让TA知道,你写的这Bug把我游戏搞崩溃了!
不仅非常解气,而且还帮助了模组作者修复了模组的问题,之后的玩家就不会遇到这个情况了。
岂 不 美 哉。
那我们应该怎么做呢?
1. 按照上一节的步骤,准备好一个崩溃报告的链接。
我之所以选择了ubuntu提供的粘贴板,是因为它大多数时候都能轻松打开,不需要魔法;外国友人也很容易打开它。
2. 记录下你的Minecraft版本、Forge版本号(如果是LiteLoader模组,可能要有LiteLoader的版本号)、Mod版本号。
3. 所有模组的名单。如果你所玩的整合包在CurseForge、FTB等国外知名MC网站发布过,就用那个发布网页的链接代替。
4. 简单描述一下Bug的状况,或者简单描述一下如何制造这个Bug
比如:用你这个模组的xx镐子挖xx方块会导致游戏崩溃、在安装了xx模组时,用你这个模组的yy物品会崩溃,等等。
然后找到作者给你提供的那个反馈Bug的地方——
等等!虽然你是去投诉别人的产品,但是礼貌还是要有的。
如果你要反馈的那个模组作者说英语,
请尽你所能避免严重影响阅读的语言错误,不要求全对满分;不要滥用大写和感叹号。用简单的句子就好。
如果你实在不想写英语,可以略去第4项内容,
这样崩溃报告只是一个链接、那些版本号都是数字,Mod名称可以查到,复制粘贴即可,完全不需要英语能力。
之后,或许在一段时间后,作者就会给你回话了。如果TA解决了你的问题,记得回复一个Thanks.
如果TA没有... 原谅他。制作模组不是一个职业,或许那位作者很忙。他会看到你的反馈的。
指明引用源和致谢
本文中的崩溃报告示例来自这篇MCBBS的求助帖子。如果我这篇教程里讲的没有很好地解决问题,
大佬们可以拿着解决问题的法子来打我的脸,我非常欢迎,毕竟人都是在尝试和错误中进步的。
我在引用时没有征得那位求助者的同意,如果将来引起任何的不愉快,我在此先作深刻的道歉。
被以截图形式引用的教程“解决 Win8 系统下 Minecraft 错误 Pixel format not accelerated”,
特向此教程原作者和网站致谢,原链接:https://haizs.com/post/how-to-fi ... ccelerated-in-win8/
另外,推荐各位阅读一篇其他大佬编写的,更加详细的崩溃报告阅读教程:
https://bbs.mcmod.cn/thread-1456-1-1.html
对希望了解崩溃报告的朋友一定会有帮助。
写在最后的一些话
大概就是这样。
小声哔哔几句,尽管你可以使用Vanilla Fix之类的模组阻止游戏崩溃,也可以用其他玄学方法解决崩溃,
但是崩溃报告往往能帮助模组作者发现 Bug,这对于正在开发中的新模组,比如不少 1.12.2 的模组是很重要的。
没准就被作者修好了呢?
再说,也比干着急好得多。
最后,祝各位的游戏永不崩溃。
什么是崩溃报告?
不少大佬遇到过游戏玩着玩着,突然游戏崩溃,跳出来一个内容乱七八糟的窗口,满纸都写着这样的东西:
- [11:41:09] [main/INFO] [FML]: Loading tweaker fr.lolo13lolo.mctitle.TheTweaker from [美化]mctitle.jar
- [11:41:09] [main/WARN] [FML]: The coremod mods.defeatedcrow.asm.AppleMilkCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft
- [11:41:09] [main/WARN] [FML]: The coremod codechicken.core.launch.CodeChickenCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft
- at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
- at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52)
- at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:252)
有一些启动器甚至不会把这个窗口弹出来,这导致很多大佬对于自己游戏的崩溃一头雾水,拿到MCBBS来问其他大佬的时候,
却描述不出自己的游戏出了什么问题,除了“它崩溃了!”似乎什么也说不出。
这可就很难受了。MCBBS有大佬能解决你的崩溃问题,但是他们没有看到你的游戏是怎么崩溃的,不可能直接告诉你解决的办法。
而要想让他们看到你的游戏出了什么问题,最直接的就是贴上这个又长又臭的崩溃报告。
崩溃报告在哪儿?
不是所有的启动器都有自动弹出崩溃报告的功能,我也只见到PCL启动器会这样干。
它会被放在你的游戏文件夹.minecraft下的一个crash-reports文件夹,以游戏崩溃的时刻年-月-日-时-分-秒.txt格式命名。
或者不在那个文件夹里,而是以hrr_pid开头命名的一个txt文件。
这看不懂的玩意,有什么用?
用处可大了!但是首先,它得遇到一个看得懂它的人。
因此,对于实在不想读这个崩溃报告的朋友,
如果你选择在MCBBS发帖求助,应该设法让它出现在求助帖子里;
代替实际上没什么用的一句“我的MC崩溃了!救命!”,让那些有“救命”能力的大佬看到你的崩溃报告。
我常常打一个比方,去医院和医生说:“我肚子疼!”
糟了,肚子疼的病因是最复杂的(不信你可以找个医学专业的朋友或亲属验证一下

医生一定会问:哪儿疼?有多疼?是持续的还是一阵一阵的?
只向医生抱怨“我很难受”是治不好病的,医生还需要更加详细的信息。
对于解决Minecraft的崩溃问题,也是同样道理。而这个信息就体现在崩溃报告里。
把它贴在你的求助帖子里,可以帮助别的大佬了解你的游戏崩溃的可能原因,并提出一些靠谱的建议。
但是,如果你愿意读一读这坨报告,并有一定的技巧,你不需要懂得太多编程知识,
也可以粗略地知道自己的Minecraft出了什么问题。这个我会在后面稍微讲解一些。
我的水平也非常有限,欢迎大佬们在回复里补充,我也长长知识。
崩溃报告怎么贴比较好?
终于进入正题。直接复制粘贴在帖子里虽然也可以,但是看起来总有一点不舒服。
这里提供一个简单易行的方法,可以让大家避免上传文件和下载文件,以一种优雅的方式贴上崩溃报告。
打开这个网页:https://paste.ubuntu.com/
可以看到里面有四个框,最下面有一个“Paste!”按钮。
第一个框随便填点什么,第二行和第三行的框不用管,
把你的崩溃报告全选、复制、粘贴到最大的第四个框,然后点击“Paste!”
过了一会,会打开一个新的网页,上面是你的崩溃报告。
把这个网页的链接复制,粘贴到你的求助帖子里,就显得优雅多了。
除了把崩溃报告往求助帖子里一甩,你有没有产生过自己读读看的想法?
不要怕!点一下下面的分页按钮!
2021.12 数据,可能有更多内容
什么是崩溃报告?不少大佬遇到过游戏玩着玩着,突然游戏崩溃,跳出来一个内容乱七八糟的窗口,满纸都写着这样的东西:
代码:
- [11:41:09] [main/INFO] [FML]: Loading tweaker fr.lolo13lolo.mctitle.TheTweaker from [美化]mctitle.jar
- [11:41:09] [main/WARN] [FML]: The coremod mods.defeatedcrow.asm.AppleMilkCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft
- [11:41:09] [main/WARN] [FML]: The coremod codechicken.core.launch.CodeChickenCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft
代码:
- at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
- at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52)
- at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:252)
有一些启动器甚至不会把这个窗口弹出来,这导致很多大佬对于自己游戏的崩溃一头雾水,拿到MCBBS来问其他大佬的时候,
却描述不出自己的游戏出了什么问题,除了“它崩溃了!”似乎什么也说不出。
这可就很难受了。MCBBS有大佬能解决你的崩溃问题,但是他们没有看到你的游戏是怎么崩溃的,不可能直接告诉你解决的办法。
而要想让他们看到你的游戏出了什么问题,最直接的就是贴上这个又长又臭的崩溃报告。
崩溃报告在哪儿?
不是所有的启动器都有自动弹出崩溃报告的功能,我也只见到PCL启动器会这样干。
它会被放在你的游戏文件夹.minecraft下的一个crash-reports文件夹,以游戏崩溃的时刻年-月-日-时-分-秒.txt格式命名。
或者不在那个文件夹里,而是以hrr_pid开头命名的一个txt文件。
这看不懂的玩意,有什么用?
用处可大了!但是首先,它得遇到一个看得懂它的人。
因此,对于实在不想读这个崩溃报告的朋友,
如果你选择在MCBBS发帖求助,应该设法让它出现在求助帖子里;
代替实际上没什么用的一句“我的MC崩溃了!救命!”,让那些有“救命”能力的大佬看到你的崩溃报告。
我常常打一个比方,去医院和医生说:“我肚子疼!”
糟了,肚子疼的病因是最复杂的(不信你可以找个医学专业的朋友或亲属验证一下

医生一定会问:哪儿疼?有多疼?是持续的还是一阵一阵的?
只向医生抱怨“我很难受”是治不好病的,医生还需要更加详细的信息。
对于解决Minecraft的崩溃问题,也是同样道理。而这个信息就体现在崩溃报告里。
把它贴在你的求助帖子里,可以帮助别的大佬了解你的游戏崩溃的可能原因,并提出一些靠谱的建议。
但是,如果你愿意读一读这坨报告,并有一定的技巧,你不需要懂得太多编程知识,
也可以粗略地知道自己的Minecraft出了什么问题。这个我会在后面稍微讲解一些。
我的水平也非常有限,欢迎大佬们在回复里补充,我也长长知识。
崩溃报告怎么贴比较好?
终于进入正题。直接复制粘贴在帖子里虽然也可以,但是看起来总有一点不舒服。
这里提供一个简单易行的方法,可以让大家避免上传文件和下载文件,以一种优雅的方式贴上崩溃报告。
打开这个网页:https://paste.ubuntu.com/
可以看到里面有四个框,最下面有一个“Paste!”按钮。
第一个框随便填点什么,第二行和第三行的框不用管,
把你的崩溃报告全选、复制、粘贴到最大的第四个框,然后点击“Paste!”
过了一会,会打开一个新的网页,上面是你的崩溃报告。
把这个网页的链接复制,粘贴到你的求助帖子里,就显得优雅多了。
除了把崩溃报告往求助帖子里一甩,你有没有产生过自己读读看的想法?
不要怕!点一下下面的分页按钮!

我想自己读读看:阅读崩溃报告的参考方法
任何崩溃报告都可以读一读,自己推测一下原因。
尤其对于那些停更、停止维护的模组,自己想办法就更加重要了。
崩溃报告这么长,全部读下来吗?我自己也做不到。
我个人的一个方法是,读重点。
接下来我将用三个案例,来介绍一些实用的方法。

案例一 - 一眼就可以看穿的崩溃原因
有些游戏崩溃报告是可以非常直接地看出崩溃原因的,例如下面这个:
代码:
- Description: Initializing game
- java.lang.OutOfMemoryError: Java heap space
Out Of Memory. 内存不足。
其他的东西什么都不需要看,就可以断定问题出在了 Minecraft 的内存空间不足上。
根据楼下 @.gooding300 大佬的补充,
内存不足分为几种不同的情况:
一种是常见的内存不足,在启动器里多给 Minecraft 分配内存,或者加内存条,或者改用独立显卡,就可以解决这个问题。
另一种是某些特殊的内存空间不足,可以参考楼下,这种情形需要用到 Java 的启动参数。
如何看出这个区别:只需要看 OutOfMemoryError: 冒号后面的东西,
它是内存不足的那个内存空间的名字,本案例当中的 Heap Space 是堆空间,
不足的解决方法就和我们平时解决内存不足的方法一样,加内存,就可以了。
是不是很简单?
我想,读到这里,你已经充满了决心。

案例二 - 容易抓住的模组崩溃
有一些安装了模组的 Minecraft 游戏崩溃了,崩溃报告还是又长又臭。
但是,高版本的 Forge 提供了一个贴心的功能:
在模组列表的开头,展示模组的加载状态,一旦某个模组出现错误,
就可以将问题的范围缩小到这几个模组上。
再去查阅这些模组的官方网站,例如 CurseForge 主页或者 GitHub,甚至百科,
就有可能找到答案。
我举一个例子:
代码:
- | UCH | cofhworld | 1.2.0 | [前置]CoFHWorld-1.12.2-1.2.0.5-universal.jar | 8a6abf2cb9e141b866580d369ba6548732eff25f |
- | UCEE| thermalfoundation | 2.5.0 | [热力]ThermalFoundation-1.12.2-2.5.0.19-universal.jar | 8a6abf2cb9e141b866580d369ba6548732eff25f |
- | UC | brandonscore | 2.4.4 | [前置]BrandonsCore-1.12.2-2.4.4.173-universal.jar | None |
这是我截取的崩溃报告的一段,它的上下文是崩溃的游戏所安装的所有模组列表。
Forge 把模组列表用竖线符号划分了一下,
第一列“UCH”之类的,是模组的加载状态符号;
第二列是模组的内部名称,在不打开模组的 jar 文件并进行修改的情况下,这个名字很难改动;
第三栏是模组的内部版本号,与内部名称一样不易改动。
第四栏是模组的文件名,与文件夹里它显示的名称相同,偶尔可以见到乱码。
第五栏是数字签名,此处不提。
这个状态符号怎么读?
每一份带有状态符号的崩溃报告都有一段这样的说明文字:
代码:
- States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized
- 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
U 表示未加载,D 表示禁用。如果所有的模组都是 U 或者 UD,说明游戏从一开始就没有加载正常,
一般预示着一个比较严重而且怪异的问题。
A 表示可用,一般一旦出现了“UCHIJA”这样的一串,表明模组已经加载完成。
此时仍然崩溃,就可以知道不是模组冲突,而是游戏过程中发生的崩溃,
应当考虑实体出错、方块出错这样的游戏中崩溃情况了。
模组在加载时出现问题的情况,往往会出现:
UE,UCE 甚至 UCEE,以及 UCHE 等。
凡是带有“E”状态符号的都是出错的。
因此,如果你看崩溃报告,第一眼看不出来,
就用 Ctrl+F 查找功能,查找这些特定的字串。
一旦发现,你就赚大了。
案例三 - 更复杂的情形
正如一位大佬在楼下指出的那样,如果要阅读更复杂的崩溃报告,
那么要阅读的重点就在于头尾。
如果你想替别人解决问题,拿一些爱心,那你需要读一读最后的游戏运行信息,
以免别人贴了崩溃报告,你还问“MC版本?Java版本?”那就有点明知故问了。
如果你读的是自己的游戏崩溃的报告,你对自己游戏的信息应当相当清楚,甚至连尾都可以不读,
只读Description和第一个at的前一行,也就是上面这段的倒数二、三行。
同样,我举一个例子。
代码:
- ---- Minecraft Crash Report ----
- // On the bright side, I bought you a teddy bear! //这是崩溃报告的头部,从这里开始。
- Time: 18-8-6 上午11:41
- Description: Initializing game//这是崩溃的概述,说明问题出在了什么地方。
- org.lwjgl.LWJGLException: Pixel format not accelerated
- at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
这个 Description 是这么一句:“org.lwjgl.LWJGLException: Pixel format not accelerated”,
机翻一下,“像素格式没有加速”?这是个什么玩意?
我们先猜猜看。像素,与图像有关;加速,图像处理有“硬件加速”,图像,硬件,可能与显卡有关。
这时候搬出搜索引擎:复制这句话,丢给百度搜索。
搜索结果是:

第二个搜索结果开篇就这样说(我画了重点)

果不其然!
我们不仅验证了猜测,而且还找到了解决问题的办法。
对这个问题,@gooding300 大佬给出的更专业的解释:http://www.mcbbs.net/forum.php?mod=redirect&goto=findpost&ptid=826103&pid=13447117
虽然有那么一点麻烦,但是这同样也是一个探索未知的过程,
算是一个硬核METAGAME吧(笑)。
选读内容 - 更高明的求助手段:向模组作者反馈
如果你知道某个模组的官方页面,比如Minecraft CurseForge,比如Minecraft Forum,
比如某些大佬在MCBBS发布了原创模组——他们如果仍然在更新和维护这个模组,
一定会留下一个联系方式:“反馈Bug请到xxx网址”。
这个网址,如果是GitHub,
(例如我们认识的交错次元模组,它的Bug反馈网址是 https://github.com/Angry-Pixel/The-Betweenlands/issues ),
那就太好了!
这种情况在1.12.2模组中非常常见。它们常常是测试版本,在不断更新和完善当中,
如果的确是模组本身的问题,
你完全可以告诉模组的作者,让TA知道,你写的这Bug把我游戏搞崩溃了!
不仅非常解气,而且还帮助了模组作者修复了模组的问题,之后的玩家就不会遇到这个情况了。
岂 不 美 哉。

那我们应该怎么做呢?
1. 按照上一节的步骤,准备好一个崩溃报告的链接。
我之所以选择了ubuntu提供的粘贴板,是因为它大多数时候都能轻松打开,不需要魔法;外国友人也很容易打开它。
2. 记录下你的Minecraft版本、Forge版本号(如果是LiteLoader模组,可能要有LiteLoader的版本号)、Mod版本号。
3. 所有模组的名单。如果你所玩的整合包在CurseForge、FTB等国外知名MC网站发布过,就用那个发布网页的链接代替。
4. 简单描述一下Bug的状况,或者简单描述一下如何制造这个Bug
比如:用你这个模组的xx镐子挖xx方块会导致游戏崩溃、在安装了xx模组时,用你这个模组的yy物品会崩溃,等等。
然后找到作者给你提供的那个反馈Bug的地方——
等等!虽然你是去投诉别人的产品,但是礼貌还是要有的。
如果你要反馈的那个模组作者说英语,
请尽你所能避免严重影响阅读的语言错误,不要求全对满分;不要滥用大写和感叹号。用简单的句子就好。
如果你实在不想写英语,可以略去第4项内容,
这样崩溃报告只是一个链接、那些版本号都是数字,Mod名称可以查到,复制粘贴即可,完全不需要英语能力。
之后,或许在一段时间后,作者就会给你回话了。如果TA解决了你的问题,记得回复一个Thanks.
如果TA没有... 原谅他。制作模组不是一个职业,或许那位作者很忙。他会看到你的反馈的。

指明引用源和致谢
本文中的崩溃报告示例来自这篇MCBBS的求助帖子。如果我这篇教程里讲的没有很好地解决问题,
大佬们可以拿着解决问题的法子来打我的脸,我非常欢迎,毕竟人都是在尝试和错误中进步的。
我在引用时没有征得那位求助者的同意,如果将来引起任何的不愉快,我在此先作深刻的道歉。
被以截图形式引用的教程“解决 Win8 系统下 Minecraft 错误 Pixel format not accelerated”,
特向此教程原作者和网站致谢,原链接:https://haizs.com/post/how-to-fi ... ccelerated-in-win8/
另外,推荐各位阅读一篇其他大佬编写的,更加详细的崩溃报告阅读教程:
https://bbs.mcmod.cn/thread-1456-1-1.html
对希望了解崩溃报告的朋友一定会有帮助。
写在最后的一些话
大概就是这样。
小声哔哔几句,尽管你可以使用Vanilla Fix之类的模组阻止游戏崩溃,也可以用其他玄学方法解决崩溃,
但是崩溃报告往往能帮助模组作者发现 Bug,这对于正在开发中的新模组,比如不少 1.12.2 的模组是很重要的。
没准就被作者修好了呢?
再说,也比干着急好得多。
最后,祝各位的游戏永不崩溃。

大佬们横竖睡不着,躺着看了半夜,才从字缝里看出字来,满篇都写着三个字是“看不懂”。
说得好

那个是启动器的报告
你签名档ubb代码反了
应该是[/img]
应该是[/img]
第一次水贴第一次水贴第一次水贴
后排膜拜大佬教程~
这样。。很麻烦,但是,很有B格
at那个是告诉你哪个类出了问题
本帖最后由 NoName德里奇 于 2018-8-6 21:02 编辑
大佬有、厉害!学到了。我对Java几乎不懂,就没有在文章里乱说。
感谢大佬的补充。
向文 发表于 2018-8-6 20:57
at那个是告诉你哪个类出了问题
大佬有、厉害!学到了。我对Java几乎不懂,就没有在文章里乱说。
感谢大佬的补充。

向文 发表于 2018-8-6 21:02
forge版的mod安的不对前面的英文会不一样的
别人都是xxxL
他是xxxE
啊,那是新版本Forge的MOD加载状态记号。
我临时找不到这种崩溃报告,就没有说,有点遗憾。
大佬手头有没有这样的崩溃报告,甚至... 愿意分享一下,给我长长知识?

NoName德里奇 发表于 2018-8-6 21:04
啊,那是新版本Forge的MOD加载状态记号。
我临时找不到这种崩溃报告,就没有说,有点遗憾。
大佬手头有没 ...
你去乱下几个mod
安装到客户端上
你就会大开眼界的
其实你可以假装这是一个教程
然后偷偷参加茶馆活动
【矿工茶馆季度活动】|茶馆优质帖子重启计划|活动介绍|
http://www.mcbbs.net/thread-810496-1-1.html
我原本以为是标题党QwQ,没想到进来这么大佬QwQ
明天有人气了回来给你补上2333QwQ
然后偷偷参加茶馆活动
【矿工茶馆季度活动】|茶馆优质帖子重启计划|活动介绍|
http://www.mcbbs.net/thread-810496-1-1.html
我原本以为是标题党QwQ,没想到进来这么大佬QwQ
明天有人气了回来给你补上2333QwQ
葉子の 发表于 2018-8-6 21:08
其实你可以假装这是一个教程
然后偷偷参加茶馆活动
【矿工茶馆季度活动】|茶馆优质帖子重启计划|活动介绍|
感谢大佬的支持和鼓励!!
我去看了那个活动,它要求的是论坛的使用教程...
似乎我这样混进去有些奇怪。

Vanilla Fix之类的模组:这个在论坛中能下载到吗?
常见错误列举偏少,而且只从一个方面分析原因。实际上的崩溃是一环扣一环的,最重要的是关键环节而非最容易看见的环节。
有时候错误原因不会出现在您所说的位置,但也不难找,有耐心就可以解决。
有时候错误原因不会出现在您所说的位置,但也不难找,有耐心就可以解决。
T_TMM 发表于 2018-8-6 18:17
我只觉得崩溃报告的开头和结尾有用……
帖子写的不错,或许可以去申报这个?↓
图片数量不足,,,
阿缺的粉丝真是一个比一个厉害啊。感谢……
gsaanne 发表于 2018-8-6 22:39
Vanilla Fix之类的模组:这个在论坛中能下载到吗?
可以,这是MCBBS内的搬运帖子:http://www.mcbbs.net/thread-792493-1-1.html
感谢大佬的提醒,我会把链接加到文章内容里。

ItIsEnderman 发表于 2018-8-6 23:23
常见错误列举偏少,而且只从一个方面分析原因。实际上的崩溃是一环扣一环的,最重要的是关键环节而非最容易 ...
确实是这样... 如果要彻底地解决崩溃,更好的做法可能是读debug.log,
或者去分析我在文章里剪掉的那一大段at内容。我自己对Java没什么了解,
只能从很浅的角度去讲这个东西... 有很多不足。
感谢大佬的指出,也欢迎大佬的补充。

给大佬递茶,不过崩溃报告对玩家来说似乎就开头提示的有用...
魔改鲁迅的话,讲究
天狼星black 发表于 2018-8-7 08:25
或许可以试试我的姐妹游戏minceraft
我是Minecraft,我是崩溃之王
魔改鲁迅的话,讲究 ...
“这是一个免费的拥抱兑换券,请到最近的Mojang员工处兑换一个免费拥抱!hug~”
这是我印象最深刻的一段。

既然at我了,我就提一点意见,希望可以帮到楼主
“java.lang.OutOfMemoryError”不一定是内存不足,可以参考下面这个回答
http://www.mcbbs.net/forum.php?m ... 796713&pid=12927064
那位大佬也和楼主一样,见到OutOfMemory就说是内存不足,实际上并不是(有详细分析)
“java.lang.OutOfMemoryError”不一定是内存不足,可以参考下面这个回答
http://www.mcbbs.net/forum.php?m ... 796713&pid=12927064
那位大佬也和楼主一样,见到OutOfMemory就说是内存不足,实际上并不是(有详细分析)
顶贴冒泡收教程awa
gooding300 发表于 2018-10-29 11:24
既然at我了,我就提一点意见,希望可以帮到楼主
“java.lang.OutOfMemoryError”不一定是内存不足,可以参 ...
啊,这个很稳!
拿去引用了

读了一下那个帖子,它的情况是:
- java.lang.OutOfMemoryError: Metaspace
Metaspace 就是元数据空间,那可见这种情形并非内存分配不足,而应该另外设法解决。
我帖子里引用的崩溃报告内容是这样:
- java.lang.OutOfMemoryError: Java heap space
堆空间的问题可能更倾向于分配内存不足。
换言之,java.lang.OutOfMemoryError 本身不能说明什么,
反倒是 java.lang.OutOfMemoryError: 的冒号后面的内容可以说明问题?
这个挺实用的,我草稿箱也有一份,本来是打算作为一份补充教程的emm
免得各种问题都说是:“没有前置,无法加载”“莫名其妙就崩溃了”一类的回复。
然而实际是,Forge版本过低,模组冲突,内存溢出。
免得各种问题都说是:“没有前置,无法加载”“莫名其妙就崩溃了”一类的回复。
然而实际是,Forge版本过低,模组冲突,内存溢出。
本帖最后由 NoName德里奇 于 2018-10-30 06:50 编辑
这几种情况我倒是... 还没有考虑到。
这些情况游戏根本没有崩溃,至少游戏还没有非正常退出或未响应。
但是因为全是鸟语,把不少朋友吓住了,以为游戏崩了。
这个之后会补上,只是找到这样的截图需要一些时间。
没糖的葫芦 发表于 2018-10-30 00:08
这个挺实用的,我草稿箱也有一份,本来是打算作为一份补充教程的emm
免得各种问题都说是:“没有前置,无法 ...
这几种情况我倒是... 还没有考虑到。
这些情况游戏根本没有崩溃,至少游戏还没有非正常退出或未响应。
但是因为全是鸟语,把不少朋友吓住了,以为游戏崩了。
这个之后会补上,只是找到这样的截图需要一些时间。
还是习惯性的点开crushreport文件夹翻crush去,启动器搬运的直接忽略
我jio的我看懂了 但是我还是不会看报告哈哈
MC_tingfeng 发表于 2018-10-30 08:38
还是习惯性的点开crushreport文件夹翻crush去,启动器搬运的直接忽略
这是坠吼得。
过去启动器并不会搬运(笑)
MultiMC 是直接给出崩溃时的整个日志,那就会更长一些。
直接看崩溃报告是坠吼得!

太厉害了,以后说不定萌新得减少一半!(虽然我的爱心收入可能也会减少一半)。。
话说你这个怎么发在茶馆里
话说你这个怎么发在茶馆里
Twilight_Two 发表于 2018-11-19 23:00
太厉害了,以后说不定萌新得减少一半!(虽然我的爱心收入可能也会减少一半)。。
话说你这个怎么发在茶馆里 ...
我也不知道发哪儿,就发在茶馆了。
真实一个很好教程,感想分享!

java.long怎么会内存不足……没遇见过嘛
无暝_Ax 发表于 2018-11-25 23:40
java.long怎么会内存不足……没遇见过嘛
你指的是这个?
- java.lang.OutOfMemoryError: Java heap space
这还不容易,你找个大型整合包,在启动器设置 512 MB 然后启动游戏,
就可以看到了。

大佬你这厉害厉害
太专业了,,这就叫专业
manualfanner 发表于 2020-7-10 00:37
太专业了,,这就叫专业
帖子的正文很业余。稍微开一点服务器或者自己做一点整合包,
正文部分讲解的内容是绝对容易懂的。
如果想了解更专业的部分,一楼的版主大佬,那个才是真的专业。
所以我把他的几条回复都置顶了,可以欣赏一下。
谢谢谢谢谢嘻嘻嘻嘻