掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.26574

『after Normal block 』について
投稿者---ミミ(2006/04/09 15:28:21)


始めまして、ミミと言います。

現在、DirectXでゲームを作成しているのですが、
マップを処理する部分で以下のようにエラーが出力されます。

----------------------------------------------------------
DAMAGE: after Normal block (#169) at 0x08D101C0.
Normal located at 0x08D101C0 is 31 bytes long.
DAMAGE: after Normal block (#149) at 0x08D10540.
Normal located at 0x08D10540 is 31 bytes long.
DAMAGE: after Normal block (#105) at 0x00AD1298.
Normal located at 0x00AD1298 is 30 bytes long.
DAMAGE: after Normal block (#55) at 0x00AD1040.
Normal located at 0x00AD1040 is 9 bytes long.
----------------------------------------------------------

原因のマップ処理は、

CTOWER_StageManager    // CTOWER_StageManager(has-a)の管理
CTOWER_MapManager     // CTOWER_MapTip(has-a)の管理
CTOWER_MapTip       // Xファイルオブジェクトの管理

のクラスで行っており、手順として、

1.CTOWER_StageManagerがマップを構成する設定ファイル名を羅列した
  ファイルを読み込み、設定ファイル数分だけCTOWER_MapManagerを生成。
2.CTOWER_MapManagerが読み込んだ設定ファイルに記述されたXファイル名分の
  CTOWER_MapTipを生成、Xファイルを読み込む。

エラーはCTOWER_MapManagerを3つ生成して、その3つ目のオブジェクトが
CTOWER_MapTipを6つ生成し、3つ目のCTOWER_MapTipオブジェクトが
Xファイルの読み込みの時に起こります。
エラーを無視してそれ以上を読み込む場合はエラーが出ません。
エラーが出るのはそのときのみです

エラーを調べてみると『メモリの解放』がうまく出来ていない場合に
起きると言う事らしいのですが、デバッグしたところエラーが起きるまでに
メモリの確保しか行っていません。

何かお気付きの点があれば指摘してもらえないでしょうか。

お忙しい中、恐縮ですがよろしくお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:『after Normal block 』について 26577 YuO 2006/04/10 00:37:24


No.26577

Re:『after Normal block 』について
投稿者---YuO(2006/04/10 00:37:24)


掲示板利用宣言をちゃんと守りましょう。
> 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
環境依存する質問は環境をちゃんと書かないと,的を射た回答がこないかもしれません。
# とりあえず,Windows/VC++を仮定。今回は,VC++ 5.0あたりの知識を元に回答。


>DAMAGE: after Normal block (#169) at 0x08D101C0.
>Normal located at 0x08D101C0 is 31 bytes long.

単にバッファオーバーランが発生しているだけでしょう。
どちら側にオーバーしたかはわかりませんが,
169番目に確保したブロックで問題が発生しているようです。



この投稿にコメントする

削除パスワード

No.26580

Re:『after Normal block 』について
投稿者---ミミ(2006/04/10 14:33:19)


返事ありがとうございます。

>掲示板利用宣言をちゃんと守りましょう。
申し訳ございませんでした。

環境は以下になります。
OS     : Win2000
コンパイラ : Microsoft Visual C++ .NET

現在も同じエラーが出るために
必要なバッファが確保されていない可能性を考えて
コードを調べています。

お手数おかけしました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧