PyCharm 远程调试 (pydevd) 无法连接,并显示以下消息:
error: [Errno 10061] No connection could be made because the target machine actively refused it
如何排除故障?
PyCharm 中的输出控制台显示:
Starting debug server at port 21000
Use the following code to connect to the debugger:
import pydevd
pydevd.settrace('*.*.*.*', port=21000, suspend=False)
Waiting for process connection...
Server stopped.
我检查了防火墙,PyCharm 允许传入和传出连接。
10061 是 WSAECONNREFUSED,“连接被拒绝”,这意味着您尝试连接的 IP:端口没有任何监听。
虽然我看到您已经验证了这不是防火墙问题,但我仍然建议您再次检查在 Windows 防火墙中打开的端口号。或者要缩小范围,只需在同一端口运行简单的 httpserver 或 icmp 服务器并确认即可。
在直接链路通信中,这通常意味着您已经有某个东西连接到该端口。
要检查哪个进程正在监听哪个端口,请检查这个SO问题。
然后,您可以终止该程序或更改端口,具体取决于您可以执行的操作。
如果没有“远程测试”的更多信息,很难知道发生了什么。
我也遇到了麻烦(客户端连接后,服务器就停止了)。
结果我显然定义了太多断点。
删除其中大部分并从客户端重新启动远程调试连接(并在 pycharm 中重新启动调试服务器)后,它不再触发“服务器已停止”。问题。
pydevd.settrace('*.*.*.*', port=21000, suspend=False)
您的 settrace 指令中的主机不正确。这不是由服务器执行的,您可能期望
*.*.*.*
意味着您监听所有接口,而是由客户端执行,需要它将连接到的主机的真实 IP。
*.*.*.*
不是有效的 IP。这应该是运行调试器的主机的 IP。