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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
モイ

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

#1

投稿記事 by モイ » 12年前

初めまして、こんばんわ。モイと言います。
今回始めて投稿させて頂きます。

環境は
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: ウィンドウプロシージャでブレークポイントが発生してしまいます

#2

投稿記事 by モイ » 12年前

すいません。2つ立ててしまいました・・・
こちらは落としてください。申し訳ございません。

閉鎖

“C言語何でも質問掲示板” へ戻る