我正在使用後臺工作程序來處理持續數小時的循環中的大文件。在GUI中,我使用標籤和進度條控件顯示當前正在進行的文件。一切都是在大多數時間。獲取當前正在執行的當前線程的方法名稱
我的問題是;有時候(可能是某些鎖定或損壞的文件,儘管我在try catch中處理了everthing),但在幾小時之後,當前文件名和進度條值在GUI上(例如在第10000個文件處)仍然對我有所響應......也就是說,這不是一個GUI凍結問題。但它也沒有說後臺工作者完成了(我同時處理了報告進度和已完成的事件)。不幸的是,它保持在這個狀態,所以我殺死並重新啓動程序,但又一次在相同的文件中進行攔截。
所以;我想了解哪裏(在哪個方法或行)的代碼卡住了...嘗試catch塊不給我任何線索..
爲了實現這一點,我打算在GUI上放一個按鈕,它卡在一些文件,我會按下該按鈕,它會給我一個DEBUG信息,包含當前正在執行(即stucked)方法名稱和行號,如果可能的話...
StackTrace等不是一個解決方案,因爲當我使用它時,它給了我寫在...的方法的痕跡...
任何想法?
(如解決方案,與下一行代碼繼續也足以對我來說,我不想重新啓動我的程序,失去再這麼多時間)
你有沒有試過記錄?即到數據庫或文件? – Ric 2013-05-04 08:23:26
您將需要調試您的程序。所以使用調試器。 – 2013-05-04 12:01:25
我認爲,看來伐木是最好的方法... – 2013-05-06 15:06:09