none
MFC42.dllのランタイムエラーに関して RRS feed

  • 質問

  • 現在過去にWindowsXPで使用していたものをベースにWindows7の環境に対応させたものを利用している時に問題が発生しております

    いつも問題が発生するわけではないのですがWindows7ではアプリがランタイムエラーがでて異常終了することが

    まれに発生しており原因を解析していくとMFC42.dllで問題が発生していました。

    さらに調査すすめるとCWnd::CreateExで異常となっていることがほぼ間違いない状態となりましたが

    問題の箇所となる部分は一部問題になりそうな部分(変数名や定数名)を変更して

    以下の通りとなりますが特に問題が発生する可能性が感じられないのですがいかがでしょうか?

    BOOL rc = m_Wnd.CWnd::CreateEx(WS_EX_NOPARENTNOTIFY,
    AfxRegisterWndClass(0), WINDOW_TITLE , 0,
    0, 0, 0, 0,  NULL,  0);

    ベースとなるClassを直前にnewで作成しているのそれが間に合わないなどのあるのかと思いましたが

    どうのように調査すればいいかも若干手詰まりなのでなにか方法があれば教えていただきたいのですがどうでしょうか?

    以上よろしく御願します

    2016年12月14日 7:05

すべての返信

  • 質問するより、デバッグを行い直接的に原因を特定することをお勧めします。不可解な現象であればなおさらです。
    2016年12月14日 7:36
  • コードを見る限りいろいろ突っ込みどころがある気がしないでもないですが。。。

    CreateEx で落ちるのであれば、まずは OnCreate、PreCreateWindow あたりのメンバー関数に怪しいところがないかを調査してみて下さい。

    可能なら、アプリケーションクラッシュを起こした状態でデバッガでアタッチするのが一番手がかりをつかみやすいかもしれません。


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    2016年12月14日 7:39