ダイアログベースの MFC アプリケーションに「ファイルを開く」ダイアログを追加しました。ここで、[開く] または [キャンセル] ボタンを押してファイルを開くダイアログを閉じてからちょうど 1 分 (!)、アプリケーションがクラッシュします。クラッシュしている間、出力で次のことが起こっています。
1) 多数の Windows スレッドが終了しています。
2) 一連の COM 例外 (0x80010108 "呼び出されたオブジェクトがクライアントから切断されました" および 0x800401FD "オブジェクトがサーバーに接続されていません" など) がスローされています。
3) 最後に、未処理の例外が発生します: 0xC0000005: アクセス違反が場所 0xfeeefeee を読み取り、コール スタックが ole32.dll を指しています。
私が当惑していると言っても過言ではありません。ダイアログを呼び出すコードは次のとおりです。
CFileDialog fileDlg( TRUE, _T(".txt"), NULL, OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST,
_T("Text file (*.txt)|*.txt||"), this);
INT_PTR res = fileDlg.DoModal();
何がそのようなことを引き起こす可能性がありますか?
どうすればデバッグできますか?