LibGDX游戏崩溃与" java平台se二进制停止工作"

时间:2015-02-27 02:10:09

标签: java debugging android-ndk crash libgdx

我有这个非常奇怪的问题,我的LibGDX游戏,突然间,几分钟后播放,崩溃没有异常抛出,它只是冻结和崩溃,我必须强制进程。

如果错误和谷歌搜索没有帮助解决这一特殊情况,我不知道如何调试此类。

我试着在android上运行它,看看Logcat是否会说些什么,我得到了这个:

enter image description here

有什么想法可以让游戏像这样崩溃,没有错误或例外?或者以任何方式获取更好的日志或其他东西以帮助缩小问题范围?

P.S。:第一次崩溃发生在桌面上,它仍然发生在桌面上,我只在Android上运行以获取更多日志,但它不是“仅限Android”问题,只是澄清。

2 个答案:

答案 0 :(得分:2)

可以快速测试,修改清单:

 <application        
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/CustomTheme"
        android:allowBackup="true"
        android:debuggable="true"
        android:vmSafeMode="true"       
        android:allowClearUserData="true"
        android:hardwareAccelerated="true" >

但也许无法解决您的错误,您可以查看此主题 - &gt;

  1. Android libc.so crash?
  2. Android Fatal signal 11 (SIGSEGV) at 0x636f7d89 (code=1). How can it be tracked down?
  3. 也许您需要使用ndk-stack,希望以某种方式帮助您解决问题, 这是内存管理的一个错误,本机方面,Java代码中没有出现错误,不会显示包含许多细节的堆栈,但是也可以看一下当你显示logcat时,如果你看到一些错误,可能会看到错误你能否提出可能出现错误的地方

答案 1 :(得分:-1)

我有同样的问题。 我知道这个问题是3年前提出的,但是,如果有人遇到这样的问题,它可能会有所帮助。  我当时正在用LibGDX制作游戏,在运行游戏时它崩溃了, 在强行停止后说for (let i = 0; i < result.length; i += 2) { if (isNaN(result[i])) { // not a number } else { if (typeof result[i+1] == 'string') { // 2nd value is a text } else { // 2nd value not a string } } } , 经过两个小时的寻找,然后重新编写代码,我注意到在一个for循环中,我写了增量部分 = + 而不是 + = ,像这样

"Java(TM) Platform SE binary has stopped working"

更改后,

for (int i = 0; i < something; i =+ somethingElse)

我不再有该错误。

我的建议,如果遇到此错误,请检查循环。