質問: お世話になっております。 閲覧ありがとうございます。 以下の原因が分かる方いらっしゃいましたら、 教えて頂きたく、質問させていただきます。 開発言語:VB.net 開発環境:Visual Studio 2017 プログラム概要:指定ディレクトリ以下、全てのファイル情報をDBに登録する。 ファイル情報:ファイル名、ファイルパス、サイズ、更新日時、登録日時、内容 ファイル内容の取得方法:テキストコンバータを使用しています。(xdoc2txt) プログラムとしての機能は、正常に動作していることを確認済みです。 各処理で、例外が発生した場合はログ出力を行っています。 しかし、不意にアプリが強制終了されることがあり、その際はログ出力がされません。 Windowsのイベントビューアにて確認を行ったところ以下のような例外コードが発生していることが分かりました。 例外コード: 0xc0000409 私なりに調べて、WindowsDefenderの無効化を行ってみたのですが、結果が変わることはありませんでした。 分かる方いらっしゃいましたらお教えください。 [追記] 進歩があったため、報告させていただきます。 特定のファイルで強制終了となってしまいます。 xdoc2txtのExtractTextで強制終了となっていることも分かりました。 ファイルに原因があることは分かったのですが、ExtractTextのソースを見ることが出来ないため、強制終了を逃れることが出来ません。 分かる方いらっしゃいましたらお教えください。
回答: `STATUS_STACK_BUFFER_OVERRUN`の値が`0xC0000409`です。つまりバッファオーバーランが発生したことによりスタックが破壊されている可能性があります。スタックは関数の呼び出し・戻りにも使われているので、ここが破壊されると関数呼び出しが一切信用できなくなりプログラムの実行を継続することは困難です。ですのでプロセスが停止されイベントログが記録されている可能性があります。 追記が正しいのであれば`xdoc2txt`の`ExtractText`が原因なのでしょう。`xdoc2txt`作者に報告し、修正してもらうのが最良かと思われます。