今天突然发生了无法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.s)

(相关URL:http://macbook.zhouyang.me/macos/port-forwarding.html)


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。








更多相关文章

  1. Android(安卓)获取指向Resource的URI[转]
  2. XE5 Android(安卓)开发数据访问server端
  3. Android(安卓)ViewStub 布局延迟加载
  4. UBUNTU LINUX中连接ANDROID真机调试
  5. android socket通讯
  6. 【ERROR】---Error executing "adb devices":ADB server didn't
  7. Android开发——SQLite数据库(二)android studio创建数据库,进行插
  8. Android(安卓)获取当前连接的wifi名称和rssi
  9. appium并发测试

随机推荐

  1. 到底什么是脏读和幻读?为啥网上答案不一?
  2. 报表的各种坑...
  3. 常用 Git 指令整理
  4. Spring 的核心特性
  5. CCNP(ISCW)实验:用SDM配置GRE OVER IPSEC
  6. Spring-IoC
  7. 自建 GitLab,却玩到了 VMware
  8. Spring bean 依赖查找
  9. 这波 JVM 面试题解答,绝对给你面试加分
  10. JVM 常用配置参数(Java 8)