Profile

書いてる人:

たけ-ちーず
紹介文:
SkypeID:take-cheeze

Link

RSS Feed

Search

Calender

Latest Article

Category

Access Counter

Online Counter

Show All Article

どうでもいい独り言。 と、少しの開発日記。
  • 11 «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 01
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 |
マップチップが表示出来ました。
Screenshot-4_convert_20100512000436.png

容量の都合上縮小しましたが、こんな感じです。
この前の不安定な挙動は、どうやらメモリを二重解放していたのが原因っぽいく解放処理を見直したら直りました。
安心です。


ついでに、今回、その原因を突き止めるのに使ったツールを紹介します。


まず、Electric Fenceというmallocした領域を監視してくれるライブラリです。
導入が簡単で、とてもよかったんですが、古いソフトです。
わたしは、ここを参考にしました。
※ C++で使う場合、malloc=newな処理系限定っぽいです。わたしは、たまたまそうゆう処理系でしたで、使えました。


続いて、他称・最強らしいツールです。
valgrindというブラックボックスなんですが、確かに最強だと思いました。
うるささが段違いです。
とりあえず、ここを参照してください。
色々とうるさいし重たいのですが、実力は確かです。


それから、gcc特有の技として

-D_FORTIFY_SOURCE=2 -fstack-protector-all

MALLOC_CHECK_=2

を使いました。
スタックを守って、gccの裁量でエラーを見つけたら、セグメントフォルトで落としてくれます。
gdbと組み合わせて使いました。
コンパイルオプションその物なのでコンパイルが面倒なのが、難点でしょうね。
因みに、"=2"の部分を"=1"にすると標準エラーに出力するだけの生温かいモノになりますよ。


っと、大体そんなところです。
おやすみなさい。
【2010/05/11 23:58】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
<<今日もまた画像。 | HOME | メモリ破壊。>>
コメント
コメントの投稿












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

トラックバック
トラックバックURL
http://takecheeze.blog47.fc2.com/tb.php/365-a0f62788
この記事にトラックバックする(FC2ブログユーザー)
ホーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。