これって何を意味するんですか?

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

これって何を意味するんですか?

#1

投稿記事 by ひよこ » 15年前

これって何を意味するのでしょうか?教えてください。
HEAP[RyuJin.exe]: HEAP: Free Heap block 605a090 modified at 605a0bc after it was freed

Naohiro19

Re:これって何を意味するんですか?

#2

投稿記事 by Naohiro19 » 15年前

>フリーヒープブロック605a090の変更は、605a0bcの後に解放されます。
という意味の英語です。

ひよこ

Re:これって何を意味するんですか?

#3

投稿記事 by ひよこ » 15年前

これがでるってことはなんかプログラムに影響を与えるのでしょうか?

toyo

Re:これって何を意味するんですか?

#4

投稿記事 by toyo » 15年前

以下のコードで同じような結果が得られます

int *a = (int*)malloc(40);
free(a);
a[1] = 9;

freeした領域に書き込んでるのではないでしょうか

ひよこ

Re:これって何を意味するんですか?

#5

投稿記事 by ひよこ » 15年前

やってはいけないことをしているってことですよね。

toyo

Re:これって何を意味するんですか?

#6

投稿記事 by toyo » 15年前

私はfreeやdeleteの後はポインタを初期化するようにしています
delete hoge;
hoge = NULL;
とか
free(fuga);
fuga = NULL;
こうすれば解放後の代入時にアクセス違反でブレークするのでバグが見つけやすくなります。

ひよこ

Re:これって何を意味するんですか?

#7

投稿記事 by ひよこ » 15年前

これって上の表示が出たところが怪しいですか?

閉鎖

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