下のような出力だとすると、一番上の例外名の表示から'at V2C.'で始まる最後の行から3行くらいまで(下の赤い部分)を教えて下さい。
java.lang.NullPointerException at V2C.V2CThreadPanel.draw(V2CThreadPanel.java:1073) at V2C.V2CThreadPanel.renderOffscreen(V2CThreadPanel.java:2230) at V2C.V2CThreadPanel.renderOffscreen(V2CThreadPanel.java:2223) at V2C.V2CThreadPanel.paintComponent(V2CThreadPanel.java:2290) at javax.swing.JComponent.paint(JComponent.java:808) at javax.swing.JComponent.paintChildren(JComponent.java:647) at javax.swing.JComponent.paint(JComponent.java:817) at javax.swing.JComponent.paintChildren(JComponent.java:647) at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1021) at javax.swing.JComponent.paint(JComponent.java:817) at javax.swing.JComponent.paintChildren(JComponent.java:647) at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1021) at javax.swing.JComponent.paint(JComponent.java:817) at javax.swing.JComponent.paintChildren(JComponent.java:647) (長いので後25行省略)
jdbを使用します。jdbはJava2SDKに含まれています。以下はLinuxの例で、他の環境ではオプション等が違うかもしれません。(Macは同じだと思う。)
> java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -jar V2C_XYYYYMMDD.jar
8000でエラーになる場合は1024より大きい適当な数字に変えてみてください。
> jdb -attach 8000
> suspend
もしここでjdbのターミナルも固まってしまったなら、V2CのJavaVM自体が固まっていると思われます。
> where all
FavoriteUpdator-0: [1] java.lang.Object.wait (native method) [2] java.lang.Object.wait (Object.java:429) [3] V2C.V2CProxySetting.setReadProxy (V2CProxySetting.java:80) [4] V2C.V2CHttpUtil.getHTTPFile (V2CHttpUtil.java:812) [5] V2C.V2CBoardItem.getSubjectTxt (V2CBoardItem.java:571) [6] V2C.V2CBoardItem.getSubjectTxt (V2CBoardItem.java:566) [7] V2C.V2CBoardItem.getAndParseSubjectTxt (V2CBoardItem.java:548) [8] V2C.V2CFavoriteList$FavoriteUpdator.run (V2CFavoriteList.java:149)
のように'V2C.'で始まっている行があるスレッドと
AWT-EventQueue-0: [1] java.lang.Object.wait (native method) [2] java.lang.Object.wait (Object.java:429) [3] java.awt.EventQueue.getNextEvent (EventQueue.java:339) [4] java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThread.java:162) [5] java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:151) [6] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:145) [7] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:137) [8] java.awt.EventDispatchThread.run (EventDispatchThread.java:100)
のようにV2Cの含まれないスレッドがあるので、'V2C.'で始まっている行があるスレッドのスタックの内容を教えてください。