我有这个非常奇怪的问题,我的LibGDX游戏,突然间,几分钟后播放,崩溃没有异常抛出,它只是冻结和崩溃,我必须强制进程。
如果错误和谷歌搜索没有帮助解决这一特殊情况,我不知道如何调试此类。
我试着在android上运行它,看看Logcat是否会说些什么,我得到了这个:
有什么想法可以让游戏像这样崩溃,没有错误或例外?或者以任何方式获取更好的日志或其他东西以帮助缩小问题范围?
P.S。:第一次崩溃发生在桌面上,它仍然发生在桌面上,我只在Android上运行以获取更多日志,但它不是“仅限Android”问题,只是澄清。答案 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;
也许您需要使用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)
我不再有该错误。
我的建议,如果遇到此错误,请检查循环。