有人遇到过这个问题吗?昨天我仍然可以在模拟器中运行我的应用程序,但是现在我无法运行我的应用程序,因为Xcode在控制台中显示此错误:
error: failed to attach to process ID <ID number>
我曾尝试重新安装,这样做后,并创建新的项目,但回报没有运气。任何人都可以解决此问题?
我使用Xcode 4.5 Preview 2并尝试运行iOS模拟器6
有人遇到过这个问题吗?昨天我仍然可以在模拟器中运行我的应用程序,但是现在我无法运行我的应用程序,因为Xcode在控制台中显示此错误:
error: failed to attach to process ID <ID number>
我曾尝试重新安装,这样做后,并创建新的项目,但回报没有运气。任何人都可以解决此问题?
我使用Xcode 4.5 Preview 2并尝试运行iOS模拟器6
Answers:
在模拟器中重置内容和设置对我有用。在“ iOS Simulator”菜单中可用。
转到“产品”菜单,然后在其中找到“编辑方案”菜单。
在“编辑方案”窗口中,选择屏幕左侧的“运行”选项,然后在右侧,将调试器从LLDB更改为GDB。
两种方法
方法1:在文件夹Application Support-> iPhone Simulator-> 在iOS的每个模拟器版本中 -> Applications-> 删除此处存在的所有文件。
现在转到产品->清洁
现在,在任何模拟器上运行它,它将起作用。
方法2:
$ ping localhost
这应该返回类似
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
...
如果可行,此答案将无法解决您的问题,请尝试其他方法。
如果ping命令返回别的东西,例如:ping: cannot resolve localhost: Unknown host
东西是搞砸了你的/etc/hosts
文件,请转到步骤2
检查/etc/hosts
文件顶部看起来像这样
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
如果文件中没有这些条目,请在文件顶部输入它们,使用刷新dns缓存$ dscacheutil -flushcache
,然后返回到步骤1,否则继续执行步骤3。
$ file /etc/hosts
这应该返回: /etc/hosts: ASCII English text
如果返回类似的内容,/etc/hosts: ASCII English text, with CR line terminators
则文件格式错误,可能会被忽略。
使用您喜欢的文本编辑器将文件行结尾更改为unix或LF。
刷新dns缓存($ dscacheutil -flushcache
),然后返回到步骤1
这是一个古老的话题,但是我相信最新版本的macOS的情况有所改变。
在macOS Mojave Beta和Xcode 9.4.1上的模拟器中尝试为iOS应用运行UI测试套件时,我偶然发现了这个问题。
事实证明,在macOS Mojave上,该codesign
工具(是操作系统本身的一部分,而不是命令行工具或Xcode的一部分)将进程签名到强化的运行时环境中,其中包括运行时代码签名实施,库验证,强制,终止,和调试限制。这与macOS Mojave中的系统完整性保护一起,可防止lldb调试器连接到正在运行的目标。
要解决此问题,您必须选择:
一个明显的例子,可能就是使用Xcode10。它似乎确实可以很好地处理连接。
重新启动操作系统,使其进入恢复模式,并使用来关闭终端的系统完整性保护csrutil disable
。调试器然后愉快地连接。
在阅读以下文章之后,我花了很多时间来解决这个问题,并且能够解决所有问题:http : //www.lapcatsoftware.com/articles/debugging-mojave.html
只是我的两分钱。希望这对某人有帮助。
我以某种方式从/ etc / hosts文件中删除或删除了记录,并且遇到了相同的错误。您应该检查/ etc / hosts文件中是否有“ 127.0.0.1 localhost”行。这对我有帮助!
我知道这是一个古老的问题,但是当我在Google搜索“无法附加到进程ID”时,它首先出现在我身上。我正在使用Xcode7。发生在iOS9发布之后,并且我已将Swift应用程序更新为Swift 2。
在模拟器中删除我的应用并执行新的构建并运行清除了它。
我刚刚将其发布在开发者论坛上。这是一个简单的解决方案,可能会对这里的人有所帮助:
我遇到了完全相同的问题:使用任何当前版本的Xcode 4.xx和LLDB调试器以及任何版本的Simulator时,XCode始终崩溃,并显示“无法附加到进程...”,我唯一的解决方法是切换到GDB调试器。这令人失望,因为我真的想在XCode 4.6-DP中尝试新的,强大的LLDB。
然后我想起了 不久前,我已经在... etc / hosts上更改了网络/服务器主机文件,以适应多个Apache2服务器虚拟主机,即,我删除了以下行:
127.0.0.1 locahost
就是这样 删除该行后,XCode在使用LLDB连接到模拟器时崩溃。恢复该行后,XCode与LLDB和Simulator可以很好地工作。
无论如何,这可能不是您的问题,但值得探讨。就我而言,这是一个严重的未记录错误。
在设备上调试时,我遇到了同样的问题。该应用在启动时崩溃,但未显示为正在运行的进程。
我的解决方案是使用某些流程查看器应用程序(例如,系统状态或类似内容)。找到您过时的应用程序,然后找到通常为debugserver 的父进程ID。
转到Xcode,产品->附加到进程->按进程ID,然后附加到debugserver进程PID。等待一秒钟,然后按停止按钮。
过时的debugserver和应用程序进程消失。
(使用模拟器时,等效的方法是使用终端ps并终止App进程。不过,您还没有尝试过)。
上面的答案确实帮助了我。 https://stackoverflow.com/a/12819757/1752988 因为在我的XCode中,我使用了故事板和自定义视图控制器。在其警告列表中,我看到某些nib文件丢失了。看到那件事我很想念。但是,我看到了这个答案,即使我不想重置我的App模拟器内容,我也做到了,它确实对我有用。
而且将Debugger从Product-> Scheme-> Edit Scheme(Run)从LLDB更改为GDB对我也不起作用。
附言:对不起,我在上方补充了此答案作为支持评论,因为我没有15个声望赞扬以上答案或有50个声望点可以发表评论。
我通过退出XCode和Simulator解决了这个问题。重新打开该项目。做完了
以下内容适用于iOS 9.1:
注意:无需重置模拟器。
我正在研究Ionic 2应用程序,对此,甚至Xcode和模拟器都是新手。
最初,我的应用程序正在模拟器上运行,但是一段时间后,它开始生成错误,例如
-xcode错误:无法附加到进程ID
我进行了搜索,尝试了以上所有答案,但我的问题仍未解决。
然后我更新了(Ionic,npm,cordova)我的机器设置-
******************************************************
Dependency warning - for the CLI to run correctly,
it is highly recommended to install/upgrade the following:
Install ios-deploy to deploy iOS applications to devices. `npm install -g ios-deploy` (may require sudo)
******************************************************
Your system information:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: Not installed
ios-sim version: 5.0.8
OS: OS X Yosemite
Node Version: v6.2.2
Xcode version: Xcode 7.2 Build version 7C68
******************************************************
之后,我只需从应用程序主目录运行命令
很高兴看到这个!!!
我有同样的问题。为了使它起作用,我做了一些答案的组合。:)
通过单击菜单栏中的“产品”来清理构建文件夹。在按Alt键的同时,单击“清理生成文件夹”。现在重新启动您的xcode和模拟器。现在应该可以了。如果不是,请尝试更改捆绑标识符和模拟器“ Content Reset”,然后重新启动xcode和模拟器。