おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2006年07月14日(Fri) 自転車で出ようとすると雨模様 [長年日記]

結局降らなかったけどさ。

Failmallocを使ってるとassertが不自由になる

昨日の続き。

手元で作っているソフトでは、テストケースでmallocする場合に、

などとしていることが沢山ありました。実際に運用されるコードではassert()の代わりにもうちょっと親切な死に方をさせてる(つもり)。

ところが、failmallocを使うとどうも様子がおかしいです。ちゃんとassertしてくれないように見える。そしてわかったことは、

こういうコードが、failmallocが無い場合

fail: fail.c:8: main: Assertion `0' failed.

と表示するのに対して、failmallocがある場合

Unexpected error.

と表示するのです。そうか。assertの中でもmallocしてるんだね。

少なくとも手元では、fputs(3)はfailmallocの影響をうけないようなので、テストケースのmallocの後のassertはfputsとexitにしてみようかな。

(追記) 静的(Cのコード)にあらかじめ取ってある領域にメッセージをsnprintfするのもいいですね。

[memo] いやなブログ: gdb tips

--argsオプションはうれしいな < man読め、と思ったがinfoにしか書いてなかった。

[run] 家まで、距離時間不明

忘れ物を取りにいくついでに。交通量が多いのであまりいつも走りたくはない。急な坂があるのだけど去年より楽に登れた。今年はよくサボってるのにな。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>