关于类似“Can't bind to local 8602 for debugger”错误的解决方案

为了适应Android5.0的开发,把JDK升级到了1.7,然后在ADT中想调试一下程序(我连接的真机),结果报错如下:

[2015-04-23 15:31:37 - ddms] Can't bind to local 8602 for debugger
[2015-04-23 15:31:37 - ddmlib] 您的主机中的软件中止了一个已建立的连接

。
java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
	at sun.nio.ch.SocketDispatcher.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(Unknown Source)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
	at sun.nio.ch.IOUtil.write(Unknown Source)
	at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
	at com.android.ddmlib.JdwpPacket.writeAndConsume

(JdwpPacket.java:213)
	at com.android.ddmlib.Client.sendAndConsume(Client.java:642)
	at com.android.ddmlib.HandleHeap.sendREAQ

(HandleHeap.java:348)
	at com.android.ddmlib.Client.requestAllocationStatus

(Client.java:488)
	at com.android.ddmlib.DeviceMonitor.createClient

(DeviceMonitor.java:835)
	at com.android.ddmlib.DeviceMonitor.openClient

(DeviceMonitor.java:803)
	at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData

(DeviceMonitor.java:763)
	at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop

(DeviceMonitor.java:652)
	at com.android.ddmlib.DeviceMonitor.access$100

(DeviceMonitor.java:44)
	at com.android.ddmlib.DeviceMonitor$3.run

(DeviceMonitor.java:580)


根据错误信息猜想应该是debug端口被占用了,本以为是升级1.7引起的,stackoverflow上也有人说卸掉1.7,重新装1.6就好了。想想不应该啊,Android 5.0要求JDK必须升级到1.7的,忽然发现我同时还在跑Android Studio,同样也连接我的手机,抓到元凶,一定就是这货了!果断关掉Android Studio,然后在ADT中clean下工程,重新运行程序就OK了。如果碰到上述情况,也许不一定是Android Studio占用了debug 端口,或者还有其他进程占用,请不要怀疑是JDK1.7的问题。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你在尝试连接MySQL服务器时,如果出现“Can't connect to local MySQL server through socket”错误,这通常意味着MySQL服务器无法通过套接字连接到本地主机。这可能是由于以下原因之一导致的: 1. MySQL服务器未运行或已停止。 2. MySQL服务器正在使用不同的套接字文件。 3. MySQL服务器的权限配置不正确。 4. MySQL服务器的配置文件中的套接字路径不正确。 为了解决这个问题,你可以尝试以下几个步骤: 1. 确认MySQL服务器正在运行。你可以使用以下命令检查MySQL服务器的状态: ```bash sudo systemctl status mysql ``` 如果MySQL服务器未运行,请使用以下命令启动它: ```bash sudo systemctl start mysql ``` 2. 检查MySQL服务器使用的套接字文件路径。你可以使用以下命令查找MySQL服务器使用的套接字文件路径: ```bash sudo find / -type s -name mysql.sock ``` 如果找到了套接字文件,请将其路径添加到MySQL客户端的连接命令中。例如: ```bash mysql -u username -p --socket=/path/to/mysql.sock ``` 3. 检查MySQL服务器的权限配置。你可以使用以下命令检查MySQL服务器的权限配置: ```bash sudo grep -r "bind-address" /etc/mysql/ ``` 如果MySQL服务器的权限配置不正确,请将其更改为允许本地连接。例如: ``` bind-address = 127.0.0.1 ``` 4. 检查MySQL服务器的配置文件中的套接字路径。你可以使用以下命令查找MySQL服务器的配置文件: ```bash sudo find / -name my.cnf ``` 如果找到了配置文件,请检查其中的套接字路径是否正确。例如: ``` socket=/var/run/mysqld/mysqld.sock ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值