4ヶ月程前にVC++ 6.0にて作成しているアプリケーションに修正を加えたのですが、修正後、現在までに2回、以下のメッセージのエラーが発生してしまっています。
「Runtime Error!
Program:
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for information」
発生するようになってしまった点については調査を進めているのですが、もう一つ困っているのが、メッセージに対し「OK」を返すまで、アプリケーションのプロセスが
生き続けてしまう、という点です。
というのも、本アプリケーションはサーバの稼動中は常に動作し続けるもので、停止した場合にはすぐに検知する必要があり、その検知をプロセスの有無にて行っているのです。
そこで、なんとか本エラーメッセージを非表示にする方法はないでしょうか。
ご存知の方がいらっしゃいましたら、お手数ですが、ご回答をお願いいたします。
止めることはできません。
もし、/GR(ランタイム型情報)オプションを指定している場合は
ランタイムのバグの可能性があります。
この場合、
1.ランタイムの修正バージョンにアップグレードする
2./GRを外す
で改善するかもしれません。
# VC6 はもう知らん
そのメッセージは abort() 関数による中止の時に表示される。
http://msdn.microsoft.com/ja-jp/library/k089yyh0.aspx
abort() の原因を追究して直すまでの間のパッチ前提として
http://msdn.microsoft.com/ja-jp/library/e631wekh.aspx
VC6 で効くかどうかは知らん。
> http://msdn.microsoft.com/ja-jp/library/e631wekh.aspx
_set_abort_behavior は VC6(+PSDK Feb 2003)には無い模様。VC8 からポイ。
http://msdn.microsoft.com/ja-jp/library/sas1dkb2.aspx
VC6 だとコッチかな。assert() も影響を受けてしまうけど。
皆様ご回答ありがとうございました。
GRオプションについては指定していませんでした。
abort() 関数に関する修正については影響を考慮した上であくまで臨時対応というところでしょうか。
皆様のご回答を元に対応策を検討させていただきます。
ツイート | ![]() |