2012-06-05 85 views
0

我在一個相對簡單的數據包捕獲應用程序的工作,我現在用的是JPCAP庫。一切工作都在進行,直到我將保存功能添加到我的程序中。JpcapWriter會導致應用程序崩潰

我寫功能

public void write() { 
    try { 
     writer = JpcapWriter.openDumpFile(captor, fileName); 
    } catch (IOException e) {e.printStackTrace();} 
    for (Packet packet : this.packets) { 
     writer.writePacket(packet); 
    } 
    writer.close(); 
} 

它正確地獲取綁匪和文件路徑,遍歷所有的數據包成功,但是當它試圖在代碼塊的結尾寫的JVM崩潰。

我的問題是,爲什麼我的應用程序崩潰時試圖關閉JpcapWriter?

更新:我剛剛發現奇怪的是它實際上是寫入文件。寫完後它就會崩潰。我在結束後添加了一個打印語句,但它從未達到它。

+1

請定義'crash'並描述錯誤(jvm crash,一些例外,...) – MartinK

+0

編輯,對不起。它會導致JVM崩潰。 –

+0

你能幫我這個: http://stackoverflow.com/questions/13088612/jpcapwriter-crashes-jvm –

回答

0

我發現了其他幾個人一起相同的問題我。我不知道爲什麼,但去掉調用close作家固定我的問題。該文件現在可以正確寫入,並且沒有問題。現在,我很滿足於它的工作,但我可以回來這個問題,在以後的日子。

更新:事實證明,當停止捕獲進行調用時文件關閉。當捕獲線程關閉它關閉捕捉體,這反過來又關閉了作家對我來說。本質上,我試圖告訴它關閉作者,因爲作者已經關閉了,導致JVM崩潰。