отслеживание вызовов сокетов Linux? - PullRequest
1 голос
/ 07 января 2011

У меня есть библиотека Python, которую я пытаюсь отладить (pyzeroconf).Следующий код возвращает «34», как если бы данные были отправлены через сокет, но я не вижу этих пакетов на 2 разных компьютерах, оборудованных Wireshark.Точка, в которой мне нужно понять, что происходит в стеке вызовов.Есть ли способ отследить, что происходит?

Разрешение: проблема была связана с "адресом привязки", который библиотека определяла по умолчанию.Значение «0.0.0.0» недопустимо и завершается сбоем (по крайней мере, в Linux).

Ответы [ 3 ]

4 голосов
/ 07 января 2011

вы можете использовать strace, например

$ strace -o logfile -e trace=network cmdline
1 голос
/ 07 января 2011

Я совершенно уверен, что это не то, что вы ожидаете, но может помочь: strace -f -F python myscript.py

strace сбрасывать системные вызовы универсальной программы.

0 голосов
/ 07 января 2011

Почему отказал IP-адрес INADDR_ANY?Это не должноС моей точки зрения, что-то еще отсутствует в вашей картине.Что произойдет, если вы попытаетесь, кроме блока кода, использовать (errno, string), чтобы получить более описательную ошибку msg.

...