在手机上运行调试时,我无法在 Android Studio 中附加调试器。
我目前使用的是运行 Android 4.4.4 的三星 S4(但在各种 Android 版本上尝试过 S5、S6、S7 和 Moto E 手机)。当我尝试运行它并出现以下任一错误时,它会超时:
I/System.out: Sending WAIT chunk
W/ActivityThread: Application is waiting for the debugger on port 8100...
或者
failed to open debugger port localhost:8600 java.net.ConnectException "connection refused"
应用程序说:
Waiting For Debugger
Application (process ) is waiting for the debugger to attach.
Force Close
Android Studio 版本:
Android Studio 2.2.2
Build #AI-145.3360264, built on October 18, 2016
JRE: 1.8.0_112-release-b05 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac 版本:
10.11.6 (15G1004)
我可以成功连接并运行应用程序,但是当我执行“运行”>“调试应用程序”>选择已连接的手机>“确定”时,我无法连接调试器。
我已经能够在使用相同手机的其他计算机(Windows 和 Mac)上以调试方式运行该应用程序。
经过数小时的调试和在线搜索,我尝试了各种方法:
使缓存失效/重启 Android 工作室
检查在端口 8100、8600、8601 等上运行的其他任何东西,当我从 bash 运行以下命令时没有任何返回:
$ # while Android studio is trying to attach the debugger
$ lsof -i :8100
$ lsof -i :8600
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
工作室 6282 彼得 125u IPv4 0x973c7e31bda641ab 0t0 TCP 192.168.1.16:64022->ip-166-62-27-181.ip.secureserver.net:asterix (SYN_SENT) $ lsof -i :8601 $ $ # Android studio 附加调试器失败后 $ lsof -i :8100 $ lsof -i :8600 $ lsof -i :8601 $
运行工具 > Android > Android Device Monitor - 它显示了我的设备,但我在尝试调试应用程序时无法运行 Android Device Monitor,它说:“Monitor will be closed to enable ADB一体化。继续?”我在这里没有找到任何有用的东西。
搜索并杀死 adb 进程
ps aux | egrep '(adb|java)'
... then doing `kill <pid>` or `kill -9 <pid>` if necessary for the found ones
重启安卓工作室
重启我的电脑
从 Oracle 网站更新 Java JDK — 但是,我不知道为什么 Android Studio 仍然说:“JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o”
完全卸载并重新安装 android studio - 例如,https://stackoverflow.com/a/18458893/376489 - 奇怪的是,我认为这适用于调试器的一次运行,然后又不行......
尝试运行 > 将调试器附加到 Android 进程 - 这没有帮助
试运行:
~/Library/Android/sdk/platform-tools/adb kill-server &&
~/Library/Android/sdk/platform-tools/adb start-server
尝试取消选中 Run > Edit Configurations > Run/Debug Configurations > Skip installation if APK has not changed
检查系统偏好设置 > 安全和隐私 > 防火墙 - 已关闭
更新 1:尝试撤销手机权限并重启手机
更新 1:静音 Android Studio 的所有断点
对于我在上面添加的细节中可能出现的问题或任何有意义的内容,还有其他想法吗?
最佳答案
很尴尬,但看起来好像前段时间我在/etc/hosts 文件中输入了一个 IP 地址来测试 localhost 的内容,但从未将其删除。我在另一篇帖子上发现了一条评论,说要检查您的/etc/hosts 中是否有以下内容:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
在注释掉那条虚假行后,调试器现在可以工作了。鉴于我在该文件中有十几个其他 IP(因此我可以更轻松地使用友好名称测试远程主机),我一定没有注意到底部的这个。我认为验证这是否是问题的一种更简单的方法是 ping localhost 并验证它是否解析为 127.0.0.1 的 IP 地址,例如,
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
这里的其他人也提出了很好的意见和建议,谢谢!
关于android - 无法在 Android Studio 中附加调试器 - localhost :8600 java.net.ConnectException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40823082/
作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类