謎現象のデバッグ時や、挙動のよくわからないソースをおいかけている時など、どういう順番で関数が呼ばれているのがを可視化(ログ化)できればなーと思うことがよくあるのですが、ちょっとした方法を思いついたので試してみようかな……とおもったら、gccなら
-finstrument-functionsというオプションでそういう仕組みが実装可能
らしいです。流石gcc。
VCでもBoundCheckerを使えば可能らしいですけど。……そんなもん個人で買えるかっ。
ちなみに上で書いた「ちょっとした方法」というのは、「.o(.obj)のFixUp情報を書き換えて、関数コールの前後で指定関数を呼ぶproxyコードを呼ぶようにしてから、リンクする」という激しく力業な方法。gccやBoundCheckerも多分似たようなことをしているのでしょうけど(勘)、libbfdが使える環境なら自前でも楽勝で書けそう?
ただし、わたしのターゲットは16bit OMFですが……orz