调试在NetBeans中正确运行的运行时Java崩溃的策略

时间:2013-02-24 00:38:56

标签: java swing runtime-error

提前抱歉。这是一个非常模糊的问题,因为我不知道发生了什么。我有一个我在NetBeans中编写的Java Swing GUI桌面应用程序。在NetBeans内部,应用程序正常工作并通过我抛出的所有测试。我在过去的几个月里一直在开发这个应用程序,并在开发的各个阶段进行部署。

昨天,我完成了一些新功能的添加和测试。我构建了应用程序并将其放在另一台计算机上。然后我直接从jar文件运行程序(NetBeans之外)。在新区域(JDialog框)中,程序崩溃。由于我不在IDE中,因此我没有反馈意见来查看错误。

我能想到的唯一一件事(这是蹩脚的)是我添加了一些切换字符串的switch语句,我知道新的1.7。我之前在1.6开发。否则,我认为程序应该在IDE内部完美运行,但在它之外崩溃是没有理由的。

任何人都可以就如何处理此问题提出任何建议吗?我完全失去了。

非常感谢。

2 个答案:

答案 0 :(得分:1)

下一个调试步骤是缩小程序的大小,直到它不崩溃,然后看看你做了哪些改变。这应该使得答案显而易见,或者给你一个很好的问题来发布SO。

您认为可能与switch语句有关的想法告诉您尝试:

  • 删除它们
  • 删除并编译JDK 6并查看它是否有效

这些是减少程序大小的合理方法,以确定您是否可以让它运行。

答案 1 :(得分:1)

我将从收集崩溃转储数据开始。 如果您在Windows上运行UI,则可以使用DrWatson

如果在Linux中运行UI,默认情况下,堆转储是在VM的工作目录中名为java_pidpid.hprof的文件中创建的。除非您通过将此-XX:HeapDumpPath= option添加到UI java选项中来自行指定路径。