2009-10-13 126 views
0

我有一個Swing應用程序,它主要在面板和按鈕上添加漸變和圓形邊框,並且大量定製繪畫。解釋Java崩潰文件

的應用很少有完全相同的錯誤崩潰,我也得到hs_err_pid [0000]的.log

段:

Java Threads: (=> current thread) 
    0x032ff400 JavaThread "Thread-1" daemon [_thread_in_native, id=3452, stack(0x04660000,0x046b0000)] 
    0x02b1c400 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=3524, stack(0x04850000,0x048a0000)] 
    0x03198800 JavaThread "Poller Thread" [_thread_blocked, id=2444, stack(0x04610000,0x04660000)] 
    0x032d3c00 JavaThread "ClientAPI::HttpConnection::InputStreamByteReader" [_thread_blocked, id=3672, stack(0x04ad0000,0x04b20000)] 
    0x03288400 JavaThread "ClientAPI::HttpConnection" [_thread_blocked, id=4564, stack(0x04a30000,0x04a80000)] 
    0x0329f400 JavaThread "ClientAPI::HttpPostConnection" [_thread_blocked, id=412, stack(0x049e0000,0x04a30000)] 
    0x02a90400 JavaThread "MultiThreadedHttpConnectionManager cleanup" daemon [_thread_blocked, id=3500, stack(0x048a0000,0x048f0000)] 
    0x003a9400 JavaThread "DestroyJavaVM" [_thread_blocked, id=132, stack(0x008c0000,0x00910000)] 
    0x03e56800 JavaThread "Thread-7" [_thread_blocked, id=2912, stack(0x04700000,0x04750000)] 
    0x03e1d800 JavaThread "TimerQueue" daemon [_thread_blocked, id=5728, stack(0x03da0000,0x03df0000)] 
    0x031abc00 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=2788, stack(0x036c0000,0x03710000)] 
    0x0314ec00 JavaThread "AWT-Shutdown" [_thread_blocked, id=2468, stack(0x034a0000,0x034f0000)] 
=>0x02fbe400 JavaThread "Java2D Disposer" daemon [_thread_in_vm, id=5836, stack(0x03450000,0x034a0000)] 
    0x02a74400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3044, stack(0x02d20000,0x02d70000)] 
    0x02a6e400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3248, stack(0x02cd0000,0x02d20000)] 
    0x02a6cc00 JavaThread "Attach Listener" daemon [_thread_blocked, id=548, stack(0x02c80000,0x02cd0000)] 
    0x02a6b800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2792, stack(0x02c30000,0x02c80000)] 
    0x02a63000 JavaThread "Finalizer" daemon [_thread_blocked, id=1504, stack(0x02be0000,0x02c30000)] 
    0x02a61c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=3124, stack(0x02b90000,0x02be0000)] 

有沒有解釋這個文件的方法來確定什麼可以在我的應用程序錯誤?

編輯,增加了更多的細節

從回答到目前爲止,這article和下面的剪斷,我想遊標的設置導致這些問題。

Stack: [0x03450000,0x034a0000], sp=0x0349f860, free space=318k 
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) 
V [jvm.dll+0xd2db8] 

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) 
j java.awt.Cursor.finalizeImpl(J)V+0 
j java.awt.Cursor.access$000(J)V+1 
j java.awt.Cursor$CursorDisposer.dispose()V+13 
j sun.java2d.Disposer.run()V+26 
j java.lang.Thread.run()V+11 
v ~StubRoutines::call_stub 
+0

在轉儲文件中應該存在某種異常原因以及堆棧跟蹤 - 您是否也有這種情況? – 2009-10-13 12:57:53

+0

@matt - 檢查我的編輯 – n002213f 2009-10-13 13:22:49

+0

那麼你在用光標做什麼? – 2009-10-13 14:05:11

回答

4

This是一個很好的指南,解釋hs_err日誌文件,特別是在Windows上。不幸的是,這是一個相當複雜的過程,但最終應該引導您解決問題。

+0

不幸的是,現在的鏈接已經被打破。 – dvlcube 2017-07-11 19:02:00

1

請注意,除非您使用JNI,否則您的應用程序無論如何不管應該如何導致JVM崩潰。我試着在不同的JVM和機器上運行它,以排除JVM錯誤和硬件問題。

0

如果您使用Sun JRE,診斷程序應該提供指向相應錯誤報告頁面的鏈接。 http://java.sun.com/webapps/bugreport/crash.jsp

確保您擁有最新的JRE(6u15/6u16)和最新的圖形卡驅動程序是值得的。

+0

雖然這很好,我想確保我已經確定了崩潰的原因,也許有一個解決方法,而不是要求用戶獲得當前JRE – n002213f 2009-10-13 13:29:24

+0

如果他們沒有6u15,他們將知道安全漏洞(對於不可信代碼至少)。你可能想推動他們。 – 2009-10-13 14:03:49

+0

在這種情況下,我會推動JRE的升級,至少我們正在簽署該應用程序。 – n002213f 2009-10-14 04:51:08