C#でMecabがいきなり落ちる問題
ある程度の大きなファイルに対してMecabを連続してやろうとすると、前触れもなくソフトそのものが落ちるという現象が発生した。
今までは、それほど大きくないファイルを相手にしていたので、発生しなかったが、10M20Mというファイルをやると発生するようになった。
解決法は、ちゃんとNull判定をすること!製作者の工藤さんが書いてくださった仕様書をちゃんと読もう!
そしてNullになったら、再起動させること!
[DllImport("libmecab")] private static extern IntPtr mecab_sparse_tostr(IntPtr ptrMecab, string str); protected string _mecab_sparse_tostr(string str) { IntPtr s = mecab_sparse_tostr(this.ptrMecab, str); if (s != null) { return Marshal.PtrToStringAnsi(s); } else { return null; } }