ページ 11

ウィンドウプロシージャでブレークポイントが発生してしまいます

Posted: 2013年9月06日(金) 01:54
by モイ
初めまして、こんばんわ。モイと言います。
今回始めて投稿させて頂きます。

環境は
Windows7
visual studio 2010
を使用しています。

c言語は基礎中の基礎、程度は一応・・・一通り習いました。
ですがそれ以外は殆どダメで、今回は恐らくウィンドウ関連で詰まってしまっているのですが。
ある貰ったプロジェクトを私の環境でデバッグすると

「Windows によって (プロジェクト名).exe でブレークポイントが発生しました。

ヒープが壊れていることが原因として考えられます。(プロジェクト名).exe または読み込まれた DLL にバグがあります。

あるいは、(プロジェクト名).exe がフォーカスを持っているときに、ユーザーが F12 キーを押したことが原因として考えられます。

可能であれば、出力ウィンドウに詳細な診断情報が表示されます。」


と出てしまいます・・・


これは私の書いたコードでは無いのですが、
WinMain.cpp

コード:

LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message){
	case WM_DESTROY: PostQuitMessage(0); return 0;
	case WM_KEYDOWN:
			switch (wParam){
			case VK_ESCAPE: PostMessage(hWnd, WM_CLOSE, 0, 0); return 0;
			}
			break;
    }
    return DefWindowProc(hWnd, message, wParam, lParam);
}
ここの12行目に緑色の矢印が出ていて
「このスレッドによって現在の関数が実行された後、次に実行されるステートメントです」
とありました。
ここでエラーがあるのか・・と思っているのですが、
凄く疑問なのが、「デバッグなしで開始」をすると
このエラーが回避されるのです。
あと、このコードを貰った環境だとエラーが起きません。
一応同じ環境を用意しているのですが・・・

私なりに調べた結果、
・削除したハンドルにアクセスしようとしたか
・2回ハンドルを削除しようとしたか
等しか想像できませんでした。

このエラーの原因と、解決するにはどのようにすれば良いか
皆様のお知恵をお貸しいただけると幸いです。

何か不適切な、不足な部分があればご指摘下さい。
長文、拙文失礼しました。

Re: ウィンドウプロシージャでブレークポイントが発生してしまいます

Posted: 2013年9月06日(金) 01:57
by モイ
すいません。2つ立ててしまいました・・・
こちらは落としてください。申し訳ございません。