linux 2.4.27 + pthread で tcp のメッセージを受け付けるプログラムを書いています。

サーバ側で accept したら thread を立ち上げるものです。
接続が1つの場合は問題なく動くのですが、同時に多数の接続を試みると、
双方の recv がしばしば期待(固定長サイズ受信)に反して 0 (EOF)を受信してしまいます。
送信側では send は正常に返っているようなのですが、どうも具合が良く分からないのです。

多数同時接続の時のデバッグするときはどうしていますか?