スポンサーサイト
--/--/-- (--) --:--:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | page top↑
Cでのメモリアクセス違反
2011/08/10 (Wed) 22:55:13
C言語メモ。

ある関数の中でポインタ型の変数pCharに対してmallocを行い、freeする時に
「ヒープが壊れていることが原因として考えられます。」
という実行時エラー。

確保したメモリ以外のところにアクセスしてしまったのだろうと
pChar[i]等と書かれている箇所の添え字を全てチェックしてもすべてメモリ確保範囲内で、何度見てもおかしなアクセスはしていない。

何が悪いんだろうと無関係なコードを削ぎ落としてコメントアウトデバッグをしていったら、
別のint *b型の引数で
(*b)++;
とするべきところを間違えて
*b++;
としてしまっていた。
そのせいでpCharの確保したメモリ領域にアクセスしてしまったのかな?

C言語をやっているとこんなことばかりだ。


ちなみに、コーディングのチェック作業で変数のハイライトができると見やすい。
eclipseではデフォルトでハイライト機能があるがVisual Studioではなかったので調べたら、
metalscrollというアドインをインストールすると、Visual Studioを再起動するだけで使える。
デフォルトではAlt+ダブルクリックでハイライトだが、設定でAltなしでもハイライトするようにできた。
参考:qwertyfk.blog16.fc2.com/blog-entry-44.html#cm
プログラミング | トラックバック(0) | コメント(0) | page top↑
<<データベーススペシャリスト合格 | ホーム | 追加の追加>>
コメント
コメントの投稿













管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://kerorou.blog84.fc2.com/tb.php/220-99239355
| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。