プロセスID Xcodeへのアタッチに失敗しました


113

誰かがこの問題を経験しましたか?昨日もシミュレータでアプリを実行できますが、Xcodeがこのエラーをコンソールに出力するため、アプリを実行できません。

error: failed to attach to process ID <ID number>

エラーのスクリーンショット

再インストールして、この投稿を実行して新しいプロジェクトを作成しようとしましたが、うまくいきません。誰でもこの問題を解決できますか?

Xcode 4.5 Preview 2を使用してiOSシミュレーター6を実行しようとしています


私はまったく同じ問題に直面していると思います(stackoverflow.com/questions/11688720/…)...与えられたエラーは、「プロセスID 0に接続できませんでした
PierrOz

1
私はここで可能な解決策について説明しましたstackoverflow.com/a/12504712/647644
Lindemann

この問題をどのように解決しましたか?私も教えてください。私は本当に解決策が必要です。
ios

承認された回答を参照してください
Rendy

1
デバッガーを変更するという実際に受け入れられている答えを試す前に、「シミュレーターのコンテンツと設定をリセットする」という答えを試すことをお勧めします。
dartacus

回答:


153

シミュレーターでコンテンツと設定をリセットすると、うまくいきました。これは、「iOS Simulator」メニューで利用できます。


1
私のために働いていませんでした。それでもステータスバーの付いた黒い画面が表示されます(コードをクリーンアップした場合でも)。イムランが述べたようにデバッガーをGDBに変更した後、私のアプリは正常にロードされます。
user427969 2012年

1
コンテンツと設定をリセットした後、シミュレーターを終了して再起動します。魅力のように働いた。
justinkoh 2013

45

[製品]メニューに移動し、[スキームの編集]メニューを見つけます。

[スキームの編集]ウィンドウで、画面の左側にある[実行]オプションを選択し、右側でデバッガーをLLDBからGDBに変更します。


6
LLDBをGDBに変更しましたが、その後は常に「Attaching to MYApp」のように表示され、以下のログが表示されます。GNU gdb 6.3.50-20050815(Appleバージョンgdb-1822)(Sun Aug 5 03:00:42 UTC 2012)Copyright 2004 Free Software Foundation、Inc. GDBはフリーソフトウェアであり、GNU General Public Licenseの対象です。特定の条件の下で変更したり、コピーを配布したりすることを歓迎します。条件を確認するには、「コピーを表示」と入力します。GDBの保証は一切ありません。詳細については、「保証の表示」と入力してください。このGDBは「x86_64-apple-darwin」として構成されました。
iOS_Developer 2012

8
私は2つのシミュレーター(5.1と6.0)を持っていて、xcodeを終了し、両方のシミュレーターの内容をリセットしました.....奇妙ですが、私にとっては
うまくいき

32
-1。これは大きな後退です。シミュレーターの内容をリセットすると、デバッガーを変更せずに問題が修正されます。
ozz

2
@cdoコンテンツをリセットすると、シミュレータはいを変え、私のために動作しませんでした
テオフィロイスラエルビスカイノRodrig

4
役立つかもしれません:私もGDBに変更し、アプリを1回実行してから、LLDBに戻したところ、再び機能しました!したがって、LLDBのメリットをあきらめる必要はありません。試してみる。
Charles

22

私も同じ問題を経験しましたが、しばらくすると、XCodeプロジェクトにResourcesという名前のフォルダーへのフォルダー参照が含まれていることが原因であることがわかりました。

XCodeはその名前を好まないようです。

フォルダー参照を削除する、フォルダーの名前を変更するだけで問題は解決しました。


1
これを理解するのにほぼ1日かかりました。#fail
テキサス州

1
これでうまくいきました。名前を変更した後、XCodeとSimulatorを再起動する必要がありました。
スラン2013年

21

2つのメソッド

方法1:フォルダー内Application Support-> iPhone Simulator-> 各シミュレーターバージョンのiOS- > Applications-> ここに存在するすべてのファイルを削除します。

次に、製品->クリーンに移動します

これを任意のシミュレータで実行すると、動作します。

方法2

リセットをタップします


2
これは私のために働いた唯一の方法です。私は自分のフォルダーの1つにResourcesという名前を付けて問題を引き起こし、プロジェクトに影響を与えました。Appleは本当にもっとうまくやるべきだ。
ザックモリス

9

ステップ1:ping

$ 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に進みます。

ステップ2:/ etc / hostsを確認する

/etc/hostsファイルの先頭が次のようになっていることを確認してください

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0     localhost

これらのエントリがファイルにない場合は、ファイルの先頭に入力し、DNSキャッシュを使用してフラッシュし、ステップ1$ dscacheutil -flushcache戻ります。それ以外の場合は、ステップ3に進みます。

手順3:正しいファイル形式:UNIXまたはLFである必要があります*

$ file /etc/hosts

これは返されるはずです: /etc/hosts: ASCII English text

それがそのようなものを返す場合/etc/hosts: ASCII English text, with CR line terminators 、ファイルは誤った形式であり、おそらく無視されています。

お好みのテキストエディタを使用して、ファイルの行末をUNIXまたはLFに変更します。

  • Sublime Text 2では、これはビューメニューから実行できます:[表示]> [行末 ]> [Unix]

DNSキャッシュをフラッシュし($ dscacheutil -flushcache)、ステップ1に戻ります。


他のすべてを試した後、これは最終的に私の問題を解決しました!ありがとう!
ジョナ

私は最近、etc / hostsを不十分に変更しました-答えてくれてありがとう
bdalziel '19 / 09/14

5

ファンドタイマーの回答と同様に、ローカルのhostsファイルが原因であるようです。

/etc/hosts誤って変更した後、権限をデフォルトに戻す必要がありました。

sudo chmod 644 /etc/hosts

その後、simulator / LLDBがうまくいきました。


私の場合、ホストアドレスを編集してこのアドレス ':: 1 newlocaldomain.local'を追加しました
subharb

5

これは古いトピックですが、macOSの最新バージョンでは少し変わったと思います。

macOS Mojave BetaおよびXcode 9.4.1のシミュレーターでiOSアプリのUIテストスイートを実行しようとしているときに、この問題に遭遇しました。

結局のところ、macOS Mojaveでは、codesignツール(コマンドラインツールやXcodeの一部ではなく、OS自体の一部)がプロセスを強化されたランタイム環境に署名し、ランタイムコード署名の実施、ライブラリの検証、ハード、キル、デバッグ制限。これは、macOS Mojaveのシステム整合性保護機能とともに、lldbデバッガーが実行中のターゲットに接続するのを防ぎます。

これを解決するには、次のオプションが必要です。

  1. おそらく明白なのは、おそらくXcode 10を使用することです。接続は正常に処理されるようです。

  2. OSをリカバリモードで再起動し、を使用してターミナルからシステム整合性保護をオフにしcsrutil disableます。その後、デバッガーは正常に接続します。

私はこれにかなりの時間を費やして、次の記事を読んだ後、それをすべて解決することができました:http : //www.lapcatsoftware.com/articles/debugging-mojave.html

ちょうど私の2セント。これが誰かを助けることを願っています。


しかし、それはシミュレータ(つまりMacOS)での実行にのみ意味がありますか?デバイスでエラーが発生しています...
Dylan Nicholson、

...これは、再署名後に.appのみをインストールしたためであることが判明しました。完全な.ipaをインストールしたら問題ありませんでした。
ディランニコルソン

4

/ etc / hostsファイルから何らかの方法でレコードを削除または削除したところ、同じエラーが発生しました。/ etc / hostsファイルに「127.0.0.1 localhost」という行があるかどうかを確認する必要があります。これは私を助けました!


2
ありがとう。私はこのエラーが発生し、すべてを試しましたが、何もうまくいきませんでした。ホストファイルを確認したところ、アバストアンチウイルスの1行を除いて空でした。アバストは、以前にカスタマイズしたホストファイル(WTH?)を実際に上書きしました!「127.0.0.1 localhost」という行をhostsファイルに追加して保存しました。次に、iPhoneシミュレーターをリセットし、Xcodeで「クリーン」を実行したところ、次にアプリを実行したときにすぐに起動しました。私にとってアバストはもうありません。
ライアン

ええ、私はavastも好きではありません
pedrouan

hostsフォルダーにアクセスする方法を見つけるのにしばらく時間がかかりました。Finderから[移動]メニューを選択し、[フォルダへ移動...]を選択します。次に、次のように入力します:/private/etc/hosts.txt
Jonah

実際には、$ sudo / etc / hosts
pedrouan

これは1年前の答えです。しかし、「127.0.0.1 localhost」と「127.0.0.1 serverchat.local」の間に違いがあるかどうか知りたいのですが。serverchat.localを削除して、それをlocalhostのものに置き換える必要がありますか?アドバイスをお願いします...
メルビンライ

4

私はこれが古い質問であることを知っていますが、「プロセスIDにアタッチできませんでした」というgoogle検索をしたときに最初に出てきました。私はXcode 7を使用しています。iOS9がリリースされた後、SwiftアプリをSwift 2にアップデートしました。

シミュレーターでアプリを削除し、新しいビルドと実行を行ったところ、問題は解決しました。


1
ここでも同様ですが、シミュレーターでアプリをクリックしただけで起動しましたが、停止に問題がありました。最後に、シミュレータをリセットしました。
MCB

2

(実際のデバイスで行うように)シミュレータからアプリケーションを削除しました。再実行すると、すべてが正常に動作しました。


2

私も同じ問題を抱えており、私にとっての解決策は:-

シミュレータからアプリを削除し、プロジェクトをクリアして実行するだけです。

それは他の人にも役立ちます。


1

これを開発者フォーラムに投稿しました。それは単純な解決策であり、ここの誰かを助けるかもしれません:

私はまったく同じ問題を抱えていました:Xcode 4.xxの現在のバージョンとLLDBデバッガー、およびシミュレーターの任意のバージョンを使用すると、XCodeは一貫して「プロセスにアタッチできませんでした...」でクラッシュしました。私の唯一の解決策は、 GDBデバッガ。XCode 4.6-DPの新しい堅牢なLLDBを実際に試したかったので、これはがっかりしました。

そして私は思い出した。いくつかのApache2サーバー仮想ホストに対応するために... etc / hostsのnetwork / server hostファイルを少し前に変更しました。つまり、次の行を削除しました:

127.0.0.1 locahost

それだけでした。その行を削除すると、LLDBでシミュレータに接続するとXCodeがクラッシュしました。その行を復元すると、XCodeはLLDBとシミュレータで問題なく動作しました。

とにかく、これはあなたの問題ではないかもしれませんが、探索する価値があります。私に関する限り、これは文書化されていない重大なバグです。


1

デバイスでデバッグするときに同じ問題が発生しました。アプリは起動時にクラッシュしましたが、実行中のプロセスとして表示されませんでした。

私の解決策は、いくつかのプロセスビューアアプリ(システムステータスなど)を使用することです。古いアプリを見つけて、通常はdebugserverである親プロセスID見つけます

Xcode、Product- > Attach to Process- > By process id 順に進みdebugserverプロセスPIDにアタッチます。少し待ってから停止ボタンを押します。

古いdebugserverとappプロセスは消えます。

(シミュレーターを使用する場合、同等の方法は、ターミナル、psを使用して、Appプロセスを強制終了することです。ただし、これを試したことはありません)。


私はこのバグにぶつかる前と後の30分間、これに頭をぶつけた後、これが私の修正につながりました。トン男に感謝します。'
Gowiem

1

私の場合、解決策は異なりました。実行モードは「リリース」でした。「デバッグ」に変更すると修正されました。Xcode 4.5.xは問題ありませんでした。


1

私の問題はかなり愚かな間違いが原因でした。既存のターゲットを複製してプロジェクトの新しいターゲットを作成し、ターゲットのinfo.plistファイルのバンドルIDを変更するのを忘れていました。


1

Xcode Derivedのデータコンテンツを削除して、この問題を修正しました。

ファインダーでSHIFT + CMD + Gを押してパスの下に入力し、DerivedData内のすべてのデータを削除します。

  ~/Library/Developer/Xcode/DerivedData

ここに画像の説明を入力してください

シミュレーターのビルドもリセット

     ~/Library/Application Support/iPhone Simulator/6.0/Applications 

1

上記の答えは本当に私を助けました。 https://stackoverflow.com/a/12819757/1752988 私のXCodeではストーリーボードとカスタムビューコントローラを使用したため。警告リストで、nibファイルの一部が見つからないことを確認しました。私はそれを見ることで失敗しました。しかし、私はこの答えを見て、App Simulatorのコンテンツをリセットしたくなかったにもかかわらず、それを実行しました。

また、デバッガを製品->スキーム->スキームの編集(実行)からLLDBからGDBに変更することもできませんでした。

Ps:-失礼、私はこの回答を上記のサポートコメントとして追加しました。これは、上記の回答に賛成する15の評判や、上記にコメントする評判の50ポイントがないためです。



1

以下はiOS 9.1で私のために働いた:

  1. シミュレータからアプリをアンインストールするだけです
  2. シミュレーターを終了する(Cmd + Q)
  3. Xcodeプロジェクトをクリーンアップする
  4. シミュレータで実行

注:シミュレーターをリセットする必要はありません。


1

私はIonic 2アプリケーションに取り組んでいます。これに加えて、Xcodeとシミュレーターも初めてです。
最初、アプリはシミュレーターで動作していましたが、しばらくすると、
xcodeエラーのようなエラーが発生し始めました:プロセスIDにアタッチできませんでした

私は検索して上記のすべての回答を試しましたが、問題は解決しませんでした。
次に、マシンのセットアップを更新しました(IonicnpmCordova)。

******************************************************
 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



******************************************************

この後、アプリケーションのホームディレクトリからコマンドを実行します

  1. イオン実行-l
  2. イオンビルドイオス。
  3. インポートされたxcodeはxcodeに変更されます。
  4. コンテンツと設定をリセット
    ここに画像の説明を入力してください
  5. xcodeから製品をクリアし、
    ここに画像の説明を入力してください
  6. Xcodeを実行すると、シミュレータで動作します。

これを見てうれしい!!!


1

これに対する答えは非常に多く、正しいと私が信じているものはわかりませんでした。承認に関する問題です。これをターミナルに入力します。

sudo DevToolsSecurity -enable


1

Xcode 9+で次の操作を行います:Xcodeメニューに移動します:Product-Scheme-Edit Schemeの下のRunタブで、Debug Executableチェックボックスがチェックされていることを確認してください!それでおしまい!

ここに画像の説明を入力してください


奇妙なことに、ボックスの
チェックを外す

0

iOSシミュレーターのコンテンツと設定をリセットし、コマンド+シフト+ kキーを押してコードをクリーンアップするだけで、コードをクリーンアップできます。


0

不十分なことに、コンピュータを再起動することが唯一の解決策でした。LLDBからGDBに切り替え、シミュレーターの内容をリセットし、Xcodeを再起動してみました。機能したのは、コンピューターを再起動し、Xcodeを再度開いて、アプリを再実行することだけでした。


0

私も同じ問題を抱えていました。私はそれを機能させるために与えられた答えのいくつかの組み合わせをしました。:)

メニューバーの[製品]をクリックして、ビルドフォルダーをクリーンアップします。Altキーを押しながら「Clean Build Folder」をクリックします。次に、xcodeとシミュレーターを再起動します。これで動作するはずです。そうでない場合は、バンドル識別子とシミュレータの「コンテンツのリセット」を変更してから、xcodeとシミュレータを再起動してください。


0

今日これに遭遇しました。ターゲット設定から誤って起動画像を削除しました。


0

次のステップを実行してみてください:

  • Product / Scheme / Edit Schemeに移動し、Runセクションを選択します。
  • Info Tanを選択し、Debugger Noneを設定します。
  • プロジェクトを実行します。動作している必要があります(デバッガーなし)
  • スキームの編集とデバッガLLDBに戻る
  • プロジェクトを実行します。動いています。

さらに、派生データを削除してProduct / Cleanを実行する必要があるかもしれません


0

マシンに複数のユーザーがログインしていますか?私のラップトップには「個人」と「仕事」のアカウントがあります。個人アカウントからデバッグしようとしたときにこのエラーが発生しましたが、仕事用アカウントでシミュレーターを実行したままにしていました。他のアカウントでシミュレータを終了すると、問題が解決しました。


0

そしてもう1つは記録用です:(提案はどれも私にとってうまくいきませんでした)

Mountain Lion:XCode 4.6.3

  • I moved the whole Application to Trashや他のフォルダを以下の削除
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • システムを再起動し、XCodeを再インストールします


0

今日も同じ問題がありました。Xcode 4.6.3を使用していました。プロジェクトを閉じてXcode 5で開いたところ、問題なく動作しています。

奇妙だが真実


それは私の質問を解決したので私にとってそれは答えですok
Mohit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.