当我在 eclipse 中调试游戏时,游戏运行正常。但是,当我用它制作可运行的 jar 时,当敌人被击中时游戏崩溃,除了那部分之外游戏的其余部分工作正常。我该怎么做,如何调试可运行的 jar?
最佳答案
放一个try/catch围绕敌人被击中的功能。在 catch 语句中,让它打印堆栈跟踪和有关捕获到的异常的信息。
类似于:
try {
enemyHit();
} catch (Exception e) {
System.out.print("RuntimeException: ");
System.out.println(e.getMessage());
e.printStackTrace();
}
从命令行运行 jar,以便在 jar 崩溃时打印输出仍然存在。或者,将错误信息写入文件。
如果没有捕获到任何东西,您可以将 try/catch 放在堆栈的更上层。如果您没有在其他任何地方捕获异常,则可以将此 try catch 一直放在主循环周围的堆栈顶部。
如果您非常确定错误已解决,我不建议在您的发布代码中保留 try/catch。与 try/catch 相关的性能问题会降低您的游戏速度,如果您将它们放在经常访问的函数周围。
关于java - 当调试器中没有发生崩溃时,如何调试可运行的 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16049267/