プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
大変恐縮ですがこちらで質問させてください。
開発環境はVC2005のMFCです。

質問内容は題名の通りなのですが、デバッグを実行しても何のダイアログが表示されない
という状態になってしまいました。
すぐにデバッグが終了してしまいます。(「デバッグなしで開始」でも同様です。)

プロジェクトはダイアログベース、スタティックライブラリ、ソケットを使える設定で
作成しました。

プロジェクトを作成してから他ダイアログを作り全てのダイアログに新しくボタンを配置したのと、初期配置のOK,キャンセルボタンを削除した以外は、コード上に手を加えるなどはしていません。

また、以下のようなエラーコードが出力されました。

Dumping objects ->
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\occmgr.cpp(195) : {75} normal block at 0x003496B8, 488 bytes long.
Data: < > E8 03 00 00 00 00 00 00 E9 03 00 00 00 00 00 00
{74} normal block at 0x00349580, 248 bytes long.
Data: < > FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Object dump complete.
プログラム '[1528] test.exe: ネイティブ' はコード 0 (0x0) で終了しました。

何か原因と対策等がわかりましたら回答をいただければと思います。
よろしくお願いします。

A 回答 (1件)

>以下のようなエラーコードが出力されました。


確保したメモリを開放してない為に
メモリーリークを起こしています
  確保したものを開放してるか確認してください

初期化等でエラーを起こしたら終了するように作ってませんか?
コードに手を加えてないと書かれてますが
変えてないのにそういったエラーが突然出てくるってことはまずないですよ
  ハード的なエラーで処理内容が変わってるならあり得ないこともない

OnInitial() 内をデバッガでステップ実行させ追ってみましたか?
それともそこまでも行かずに終了するのでしょうか?
いずれにしてもデバッガで動かしてるなら追いようがあると思いますが

たまに本当にVCの環境がおかしくなってるといったこともありますが
同じソースを他のPCで動かしても同じならコード上の問題でしょう
    • good
    • 0
この回答へのお礼

ありがとうございました。
結論から言うとRich Editが原因でした。

koi1234さんの回答から、冷静になって一つ一つステップで追ったところ見つけることができました。
その際、

CTest dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
というところまで行くのですが、OnInitDialog()には処理が行っていないことがヒントになりました。

Rich Editをはがしたところ、正常に動作しました。
Rich Editでなぜこのような不具合が起きるのかは不明ですが、
いずれ調べてみようと思います。

一応は解決したということでこの質問は締め切らせていただきます。
ありがとうございました。

お礼日時:2011/08/05 08:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています