kiconv のデバッグ開始2006年07月19日 14時03分04秒

FreeBSD カーネルやカーネルモジュールのデバッグはやったことがないので、試行錯誤しながら見ていきたいと思う。

/usr/src/sys/netsmb/smb_subr.h を見ると、


#define SMBERROR(format, args...) printf("%s: "format, __func__ ,## args)

などとある。その他にも似たようなのがいくつかあって、特殊な DEBUG 変数を有効にしておくと、printf が実行されるようになっている。

試しに、SMB_IOD_DEBUG を有効にして、make buildkernel installkernel をすると、printf の文が /var/log/message に追加されるようになった。カーネル部分はこれで見られる。

/usr/src/lib 以下には同じように、デバッグの出力だと思われる物が、すぐには見当たらなかったので、printf を libkiconv に追加してみた。mount_ntfs で試したところ、そのままターミナルに文が出力された。流石に標準出力にデバッグ情報を流してはまずいので、stderr に変えた。

kiconv の何がどう実行されているのか掴めていないので、まずは fprintf で探ってみることにする。

前回次回