2012-06-05 84 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崩溃。