Release版で落ちます。 – プログラミング – Home

通知
すべてクリア

[解決済] Release版で落ちます。


クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

久しぶりの質問です。
環境は、Win2000 Pro(SP2),VC++6.0(SP5),MFCです。

現象は、ダイアログで作成したプログラムがありまして、キャンセル(IDCANCEL)ボタンをクリ
ックしてプログラムを終了させるものなのですが、今まで、Debug版では全く問題がなかったの
に、Release版で実行してみると、
「0x0000000a の命令が 0x0000000a のメモリを参照しました。メモリが read になる
ことはできませんでした。」というメッセージが表示されて落ちてしまいます。

メッセージボックスを使って調べてみたところ、
InitInstance内の else if (nResponse == IDCANCEL) のところにメッセージボックスを入
れ、ExitInstance内にもメッセージボックスを入れているのですが、
ExitInstanceに来る前に落ちているみたいなのです。

原因、解決方法、調査方法など、どんな情報でもいいので、教えてください。
よろしくお願いします。


引用未解決
トピックタグ
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
 

メモリ破壊などが考えられますね。


返信引用
Puppy
 Puppy
(@Puppy)
ゲスト
結合: 23年前
投稿: 71
 

クリリンさん こんにちは。

昨日は、お返事ありがとうございます。
いつも聞いてばかりなので、ハズレかも知れませんが、たまにはお返事を書いてみます。

初期化していない変数などがあると、思わぬことになる場合があるそうです。
お役に立てればうれしいです。(^-^;

Puppy@(給料日 && 笑) && (残業中 && 涙) でした。


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

とおりすがりさん、Puppyさん、レスありがとうございます。

原因はわかりませんが、解決はしました。
else if (nResponse == IDCANCEL)
{
m_pMainWnd = NULL;
}
として、メインウィンドウのハンドルを開放する事で落ちなくなりました。
しかし、他のプログラムでは全く問題がなかったのですがねぇ・・・
とりあえず、解決にしておきます。
でも、原因が知りたい・・・


返信引用
EIJI
 EIJI
(@EIJI)
ゲスト
結合: 24年前
投稿: 76
 

記事を書いてる最中に解決しちゃったみたいですが、もったいないので書き込みます(^^;

リリースビルドでデバッグする方法があります。
プロジェクトの設定ダイアログで
C/C++タブ カテゴリ:一般
 デバッグ情報 → プログラムデータベースを使用
 最適化 → 無効(デバッグ時)
リンクタブ カテゴリ:一般
 デバッグ情報を生成するチェックボックス → オン

これでリリースビルドでもブレイクポイントが有効になります。
ステップ実行もできます。


返信引用
はまち
 はまち
(@はまち)
ゲスト
結合: 23年前
投稿: 146
 

クリリンさん、こんにちは。
僕も、Puppyさんと一緒で、いつも聞いてばかりで申し訳なかったのですが、今回は少しわかり
そうだったのでお返事を書いて見ました。

どうやら、ヒープレイアウトが原因のようです。ヒープ レイアウトは、アプリケーションがデ
バッグでは動作しても、リリースではエラーが発生する原因の約 90% を占めるそうです。

以下のサイトが参考になるかもしれません。

http://www.microsoft.com/japan/developer/library/vccore/_core_common_problems_sw
itching_from_debug_to_release_build.htm

また、MSDNで「ヒープレイアウト」で検索しても同様の説明が得れると思います。

お役に立てれば幸いです。


返信引用
はまち
 はまち
(@はまち)
ゲスト
結合: 23年前
投稿: 146
 

アドレスが切れちゃってます。もう一度張りなおしてみます。

http://www.microsoft.com/japan/developer/library/vccore/_core_common_problems_sw
itching_from_debug_to_release_build.htm


返信引用
はまち
 はまち
(@はまち)
ゲスト
結合: 23年前
投稿: 146
 

やっぱりだめです。


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

EIJIさん、はまちさん どうもありがとうございます。
今後の開発に生かしたいと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました