ダンプファイルを生成し続けるターミナルサーバーで実行されているDelphiアプリケーションがあります。同じPIDに対して、プロセスが手動で強制終了されるまで、約1秒の間隔でダンプファイルを作成し続けます。もう1つの奇妙なことは、ダンプファイルの名前です。
±_minidump_default_pid_7916_tid_x6590_2012_6_18_13_48_40.dmp
÷_minidump_default_pid_7916_tid_x6590_2012_6_18_13_48_42.dmp
k_minidump_default_pid_7916_tid_x6590_2012_6_18_13_48_39.dmp
Ô_minidump_default_pid_7916_tid_x6590_2012_6_18_13_48_41.dmp
Ž_minidump_default_pid_7916_tid_x6590_2012_6_18_13_48_40.dmp
ダンプファイルはあまり教えてくれないので、どこから探し始めるべきかを提案したいと思います。
問題は、Oracleとの通信に使用したコンポーネントにあるようです。このコンポーネントの新しいバージョンで問題が解決しました。
次のシナリオが発生したようです。
更新:
どうやらこの問題は、障害のあるOracleクライアントが原因であるようです。 Oracleクライアントの最新バージョンに更新すると、この問題が修正されました。
これらのファイルを取得したとき、それはプログラム内の未処理のアクションでした(returnをテストせずに何かをしようとしたり、機能しないと思ったりしました)。そのため、私が作成した.Netアプリケーションでは、コードの修正が必要でした。
これらのファイルは、アプリケーションの問題のためにOracleコンポーネントから作成されています。
これらのファイルの作成を避けたいだけの場合は、sqlnet.oraファイルをこれらの新しい値で変更するだけです。
DIAG_ADR_ENABLED=OFF
DIAG_SIGHANDLER_ENABLED=FALSE
DIAG_DDE_ENABLED=FALSE
これらの新しい行により、ダンプファイルがなくなり、実際のアプリケーションがイベントビューアの詳細とともにクラッシュします。
それが常にOraclePartからのものであるとは限らないことを知っておくことが役立つことを願っています;-)