我有一个我试图调试的Python库(pyzeroconf)。以下代码返回'34',好像数据是从套接字发送的,但是我无法在2台不同的有线电脑上看到这些数据包。
bytes_sent = self.socket.sendto(out.packet(), 0, (addr, port))
我现在需要了解调用堆栈中发生了什么。有没有办法追踪发生的事情?
解决方案:问题与图书馆默认的“绑定地址”有关。不允许使用值“0.0.0.0”,并且(至少在Linux上)无声地失败。
答案 0 :(得分:4)
您可以使用strace
,例如
$ strace -o logfile -e trace=network cmdline
答案 1 :(得分:1)
我很确定这不是你所期望的,但可以提供帮助: strace -f -F python myscript.py
strace转储泛型程序的系统调用。
答案 2 :(得分:0)
为什么INADDR_ANY IP地址会失败?它不应该。从我的角度来看,你的照片中还缺少其他东西。如果您尝试使用(错误,字符串)代码块来获取更具描述性的错误信息,会发生什么。