• 締切済み

Windowsアプリケーションのクラッシュ(CStringによる?)

社内で使用しているアプリケーションを以下の環境で製作しています。  VC Ver6、MFC使用  OS:Windows2000 このとき、一定期間(45~49日)をおくとクラッシュ してしまう現象が発生してしまい、試しにデバッガ上で動作させてみて試したところ、CStringで定義したオブジェクトに”=”で直接、文字列を代入している箇所でブレークポイントがかかっていました。但し、この場所としてはMFCのCFileクラスのOpenの中でした。  そこで以下の項目について何か情報があれば教えていただけないでしょうか。  1.CStringのマイクロソフト自身のヘルプ情報に以下のような”=”を使用した文字列の代入はメモリリークを発生する可能性があります、とありました。これを避けるには例えばFormat等を使用すれば回避できるものでしょうか。  例:CString aaa;    aaa = ”1234”;     これを以下のように変更。    aaa.Format(”1234”); 2.最初に記述しているように、MFC側でも項目1のような使用法を行っているようですが、このMFCはソースがあるので、それを仮に修正して試すようなことは一般的に可能でしょうか。 以上よろしくお願いします。 不明点等あれば御連絡お願いします。

みんなの回答

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

>「45~49日でクラッシュ」 49.7 日のシステムタイマの問題が真っ先に思いつきます。 どこかで内部タイマで不都合がでているのではないでしょうか。 メモリリークが起きることがクラッシュの原因になるとは なかなか考えにくいです。

参考URL:
http://www.microsoft.com/JAPAN/developer/library/jpsetupf/_win32_gettickcount.htm
mitsu1965
質問者

お礼

回答いただきありがとうございます。 システムタイマ関連について確認してみます。 ありがとうございました。

関連するQ&A