2011-05-24 77 views
1

我在數據採集C#/ .Net應用程序(使用HDFDotNet封裝)的Windows7 32位系統上使用HDF5 1.8.6。「斷言失敗!」退出程序時出錯(HDF5 1.8.6)

我注意到一個運行時錯誤(AssertionFailed)彈出時,我的以下行爲後,退出我的應用程序:

1)我打開一個USB驅動器(或網絡共享驅動器) 2上的HDF5文件。 )我開始採樣數據並將其存儲到HDF5文件。 3.)我(粗魯)刪除USB驅動器(或斷開網絡共享驅動器) 4.)寫入異常處理(看似恰當...沒有崩潰) 5.)我關閉應用程序。

在這一點上,我得到的錯誤,其中提到文件:...... \ SRC \ H5F.c(1737線)和 「表達:F->的file_id> 0」

我假設HDF5庫試圖清理一些東西,並且感到困惑,它無法找到它正在使用的文件......但它似乎應該仍然能夠在不能時恢復。我錯過了什麼嗎?

謝謝!

喬希·安德森

回答

0

我敢打賭,HDF5有你應該叫你離開前一個關閉/退出/關機功能。

+0

感謝您的快速響應。它看起來好像最新版本(1.8.7)確實提供了訪問這樣做的方法(H5.close)。它沒有在「1.8.7新增功能」列表中列出,但查看其確實似乎存在的來源。我會試一試。謝謝! – Josh 2011-05-24 15:19:03

+0

我能夠調用H5.close方法(如前所述),它似乎解決了這個問題。謝謝!! – Josh 2011-05-27 12:54:00

+0

說得太快:當我調用H5.close(它只是調用HDF5中的H5close)時,我現在正在得到一個「System.AccessViolationException was unhandled」 – Josh 2011-06-02 15:00:27

相關問題