Android无法debug的问题

今天突然发生了无法debug的情况,表现为,在进行选择debug的时候,等了一段时间之后,报:

Error running Android Debugger (8600): Unable to open debugger port : java.net.ConnectException "Operation timed out"。

很奇怪,这个指的是连接debug端口超时。

而涉及这个东西的地方又很少,目前已知的就只有:monitor,就是android sdk提供的一个工具,在”${sdk-home}/tools/“的目录下,里面可以修改debug端口。

我做了如下操作:

1,考虑到有个可能进行了远程调用,所以我打开了monitor,查看NetWork Connection,配置都是默认配置。这里没有发现意外

2,有可能被人做了端口映射?查看了下端口映射表,也是空的(sudo vi /etc/pf.anchors/com.shadowsocks)

3,在选择debug的时候,IDE会尝试连接debug端口,此时我在终端查看这个端口的占用情况(mac: lsof -i:8600),显示:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME studio 487 Virgil 378u IPv4 0xa27f534d1616b919 0t0 TCP 10.10.150.25:49392->10.10.44.44:asterix (SYN_SENT)

10.10.150.25是我本机,可以看到,IDE是在尝试连接10.10.44.44这个IP。这个就很奇怪了。
为什么连接本机的8600端口会变成连接10.10.44.44?

4,我开了VPN,据说GoAgent这类的VPN会修改Hosts,将localhost指向别的IP,所以果断将VPN关掉。
发现问题依旧。

5,检查hosts,发现hosts是空的,也就是说,hosts没有被额外改动过。

6,最后,telnet localhost 80,发现指向了10.10.44.44。
没有办法,手动修改hosts,将localhosts 指向127.0.0.1

再debug一下,就一切正常了。

这里的疑问是:之前是好好的,今天在某个时段发生了这个问题,所以不知道为什么localhost会指向了另外一个ip。