Java/JavaFX异常——如何确定故障

Java/JavaFX异常——如何确定故障,java,exception,nullpointerexception,javafx-2,Java,Exception,Nullpointerexception,Javafx 2,所以我得到了一个异常,我的代码都没有在其中列出 有没有一种简单(快速、简单)的方法来判断问题是在我的代码中,还是(可能不是)可能是Java中的错误,在本例中是JavaFX 我的代码是一个长时间运行的脚本(Lua脚本)的包装器,该脚本本身(Lua脚本)调用Bash脚本,以防信息有任何用处 事实上,当脚本的特定部分正在运行时(我认为当它被Lua和Bash双重抛出时),通过在屏幕上点击来复制异常似乎相当容易。(我有一个线程,一个Runnable,它从Lua脚本读取输出流,我通常完全控制我的javafx

所以我得到了一个异常,我的代码都没有在其中列出

有没有一种简单(快速、简单)的方法来判断问题是在我的代码中,还是(可能不是)可能是Java中的错误,在本例中是JavaFX

我的代码是一个长时间运行的脚本(Lua脚本)的包装器,该脚本本身(Lua脚本)调用Bash脚本,以防信息有任何用处

事实上,当脚本的特定部分正在运行时(我认为当它被Lua和Bash双重抛出时),通过在屏幕上点击来复制异常似乎相当容易。(我有一个线程,一个Runnable,它从Lua脚本读取输出流,我通常完全控制我的javafxgui,记录脚本的结果,等等,当然,除非发生这种异常。)

这是我的例外:

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
        at javafx.scene.Scene$ClickCounter.access$7600(Scene.java:2985)
        at javafx.scene.Scene$ClickGenerator.preProcess(Scene.java:3081)
        at javafx.scene.Scene$ClickGenerator.access$8400(Scene.java:3051)
        at javafx.scene.Scene$MouseHandler.process(Scene.java:3302)
        at javafx.scene.Scene$MouseHandler.process(Scene.java:3164)
        at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3119)
        at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1559)
        at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2261)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:228)
        at com.sun.glass.ui.View.handleMouseEvent(View.java:528)
        at com.sun.glass.ui.View.notifyMouse(View.java:922)
        at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
        at com.sun.glass.ui.gtk.GtkApplication$3$1.run(GtkApplication.java:82)
        at java.lang.Thread.run(Thread.java:722)
感谢所有关于如何做这件事的建议(在本例中,特别是)


更新:我想知道的是:我应该调试我的代码以确定这一问题的原因吗?或者它显然是一个JavaFX错误?如果是这样,我将向Oracle负责团队报告。

您是否从JavaFX应用程序线程读取或修改活动场景图?或者您是否将JavaFX应用程序线程绑定了很长一段时间?好的,我调用了一个“异常发生”对话框,该对话框位于Runnable的活动场景图上,执行脚本处理,当然,我通过设置效果、更新文本字段等从主JavaFX应用程序线程“操作”场景图。我想我理解你指的是哪些线程,我相信“JavaFX应用程序线程”是指后一个线程——继续运行的线程,而我的“runnable”关闭并阻塞ProcessBuilder进程的流。至于第二个问题,不,如果我理解你指的是哪个“JavaFX应用程序线程”;如果交换,则是!您应该使用
调用“异常发生”对话框,该对话框位于运行脚本处理的活动场景图上“
您的鼠标有3个以上的按钮吗?如果有?没有,但是在我看到问题最多的计算机上,它是一个小的上网本,运行速度约为1.5GB(通过report看起来像992.1 MiB,但我知道它有1.5 GB)内存,在Ubuntu12.04(Unity 2D)上,这台计算机本身是一台Clevo M810L,带有Intel Atom CPU N270@1.60 Ghz(x 2?内核?).32位。足够的磁盘空间:160 GB驱动器。另一个可能的问题是,我将大约1.6 MB的文本放入TextArea控件,每行使用
ta.appendText(“txt”);
。我将尝试抛出99/100行,看看这是否有帮助——与命令行运行相比,它也相当慢。