JpcapWriter导致应用程序崩溃

时间:2012-06-05 14:13:54

标签: java crash jpcap

我正在开发一个相对简单的数据包捕获应用程序,我正在使用Jpcap库。一切都一直有效,直到我将保存功能添加到我的程序中。

我的写作功能

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

它正确获取captor和filepath,成功遍历所有数据包,但当它尝试在代码块的末尾写入时,JVM崩溃。

我的问题是,为什么我的应用程序在尝试关闭JpcapWriter时会崩溃?

UPDATE :我刚刚发现的奇怪之处在于它实际上是在写入文件。它只是在写完后崩溃了。我在收盘后添加了一个print语句,它从未到达它。

1 个答案:

答案 0 :(得分:0)

我发现其他几个人和我有同样的问题。我不确定为什么但是删除关闭作者的调用解决了我的问题。该文件现在正确写入,没有问题。目前,我对此感到满意,但我可能会在以后再回到这个问题。

UPDATE:当调用停止捕获时,结果是文件关闭。当捕获线程关闭时,它关闭了捕获器,而后者又为我关闭了写入器。本质上,我试图告诉它关闭作者,因为作者已经关闭,这导致JVM崩溃。