欢迎光临散文网 会员登陆 & 注册

如何查看MC的崩溃报告(3)

2017-10-15 21:59 作者:森林蝙蝠  | 我要投稿

上一章的错误:空指针异常那里,我用到了“对象实例化”这一词语,其实对象本身就是类的实例,怎么还能实例化呢?简直是失了智。

昨天晚上,有个小学生主播叫“虎牙柳昊”的,用阿仇(@SihenZhang)的永恒发条整合包做视频,讲得一塌糊涂不说,还招来一群朽木不可雕的新手来阿仇的群,无一例外他们全崩溃了,崩溃类型如下:http://paste.ubuntu.com/25744923/(看这里看这里!)

第7行:java.lang.OutOfMemoryError: Java heap space

不难看出“out of memory”是“内存溢出”,“Java heap space”指的是堆空间——你可以把堆理解成房子,对象生活在房子里,如果你是个普通工薪阶层,房子买小了,对象呆得住吗?然后你就后院起火了。当然,在Java里你可以静静地祈祷垃圾收集器把这个对象回收掉,前提是Java虚拟机还在运行。

第109行JVM flag(Java虚拟机参数)中的-XX:+UseG1GC就是MC默认的垃圾收集器(G1GC),为Java的垃圾收集器之一。

果然,这三个家伙启动前都没改默认内存大小,768M的内存,运行一个166模组的整合包,还能不崩溃?

另一个崩溃类型:http://paste.ubuntu.com/25745120/(看这里看这里!)

前面若干行是bytecode(字节码)的错误,已经超纲了,关键在于后半部分。

第224行以后就是你的模组列表及这些模组的加载状态——看到E就是“errored”,说明这些模组在初始化时出错了,考虑更新/卸载吧。(一般为UE/UCE的形式)


现在崩溃看也看了,要么自己动手修复,要么找作者反馈问题——去哪儿找呢?

答案就在这里:https://github.com/(世界通用的社交性代码托管网站,基本所有的模组作者都会把源码放在这里,即使是神秘这种不开源的模组,也有他们的库存在),进去之后点击sign up注册,sign in登录。

新人登陆之后会让你建立一个repository(库)这就是你的第一个保存代码的地方,当然你可以选择不建立,一会到your profile(相当于个人中心)下自己建立。

右上角是你的头像,点击该头像弹出此菜单

在profile里面,点击repositories即可看到你当前的代码库,点击右上角的new按钮即可建立新的代码库,type和language是分类型与编程语言查看你的代码库。

当然我们不是跑来自己写代码的——我们是来提交bug的啊!

比如说,我们这儿有个叫月饼工艺的mod崩了,那就要知道它的名字——mooncakecraft。

看到上面截图,左上角写着“search GitHub”的搜索框了吗,把mooncakecraft填进去,回车即可搜索,如果连在一起搜不到,那就按单词分开打,比如mooncake craft。

很好,现在我们进入了月饼工艺的代码页当中。

你是要提问题的,所以请点击issues(问题)按钮,进入如下所示的页面,再点击new issue,以新建一个问题。

(我这只是演示,别真的去提问题,尤其是垃圾问题比如作者怎么还不更新,否则后果自负)

然后就是发挥你的英语水平啦,记住,准确描述你的问题,例如MC和forge的版本,模组的版本,崩溃时发生了什么,并附上相应的图片以及崩溃报告或日志文件!崩溃报告可以通过点击文字框下方的“selecting them”上传文件,也可以像第1篇说的那样,粘贴到ubuntu pastebin去。

然后submit new issue以提交这个问题。你可以适当艾特作者一下,但不要一个劲的刷楼艾特,否则对方就会大动肝火把你拉黑。

如果问题得到解决,最好对作者致以感谢并close issue,关掉这个问题,同理,如果作者自己关掉了这个issue,也不要再对这个问题进行回复了。

如果你觉得这个月饼的代码其实写的还不错,想看看它优美的写法,甚至加以简单的维护,比如汉化什么的,可以点击右上角的fork,“抄”一份代码到你的代码库中,就可以在你的库中自由修改了。(阿仇:抄你大爷,这玩意叫派生!)

第一张截图中,可以看到forestbat/NuclearPhysics forked from halvors/NuclearPhysics,意思就是我的这个nuclearphysics,是从原作者halvors的nuclearphysics代码库抄过来的。

如果你不想做什么,只是想“留个眼熟”,只需要点击star标记一下即可。

如果你已经对作者的库做出了一些工作,想把它交给作者,就要pull request了,请点击new pull request。

点击“compare across forks”(在抄本间进行比较),左侧的base fork是作者的原库,head fork就是你要提交给作者的,你编辑的那个代码库。

base:1.11.2是这个模组的1.11.2分支(branch),同理,compare的1.11.2就是你的库中的1.11.2分支——点击code按钮,就可以通过点击branch按钮以查看这个代码库的分支,这很重要,因为你必须知道你改动的是哪里。

然后create pull request就行,等待作者merge(通过)它或者关掉它。

至于如何将你的工作发布到gayhub上(对我没打错),那就是以后的事了。

所以现在,好好练习英语吧,否则你会发现你连个问题都问不出来。

如何查看MC的崩溃报告(3)的评论 (共 条)

分享到微博请遵守国家法律