2011-01-07 14 views
1

私はデバッグ(pyzeroconf)にしようとしているPythonライブラリを持っています。次のコード戻り「34」のデータがソケットを下されたが、私は2つの異なるWiresharkを備えたPC上でこれらのパケットを見ることができないかのように。Linuxソケット呼び出しをトレースしていますか?

bytes_sent = self.socket.sendto(out.packet(), 0, (addr, port))

私は、コールスタックダウンが起こっているのかを理解する必要がある時点でいます。何が起きているのかを追跡する方法はありますか?

解決:問題は、ライブラリがデフォルトとして認識していた「バインドアドレス」に関連していました。 「0.0.0.0」の値が許可されておらず、静かに(少なくともLinux上で)失敗しました。

答えて

4

あなたは、例えば、straceを使用することができます

$ strace -o logfile -e trace=network cmdline 
1

私はあなたが何を期待これはかなりわからないんだけど、助けることができる: のstrace -f -Fパイソンmyscript.py

straceの一般的なプログラムのシステムコールをダンプします。

+0

あなたの助けてくれてありがとう - 私の期待は、実際のシステムコールの周りで何か奇妙なものを検出することでしたが、私はトレース上に何も見ることができません。なぜパケットが電線に現れないのか分かりません! – jldupont

0

なぜINADDR_ANY IPアドレスが失敗するのですか?それはしないでください。私の視点から見ると、あなたの写真には何かが欠けています。あなたがしようとした場合、何がもっと説明エラーMSGを取得する(errnoに、文字列)を使用して、コードブロックを除き、行われます。

関連する問題