Не вдалося приєднати до коду обробки ідентифікатора Xcode


113

Хтось відчув цю проблему? Вчора я все ще можу запустити свою програму в тренажері, але тепер я не можу запустити свою програму, оскільки Xcode друкує цю помилку в консолі:

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

Знімок екрана на помилку

Я намагався перевстановити, виконати цю публікацію та створити новий проект, але не повертає удачі. Хтось може вирішити цю проблему?

Я використовую Xcode 4.5 Preview 2 і намагаюся запустити iOS simulator 6


Я думаю, що я зіткнувся з точно такою самою проблемою ( stackoverflow.com/questions/11688720/… ) ... наведена помилка "не вдалося приєднати до ідентифікатора процесу 0"
PierrOz

1
Я описав можливе рішення тут stackoverflow.com/a/12504712/647644
Lindemann,

Як ви вирішили цю проблему? скажіть, будь ласка, і мені. мені дуже потрібне рішення.
ios

дивіться прийняту відповідь
Ренді,

1
Я б порадив людям спробувати відповідь "Скидання вмісту та налаштувань у симуляторі", перш ніж спробувати фактично прийняту відповідь про зміну налагоджувача.
Дартакус

Відповіді:


153

Скидання вмісту та налаштувань у тренажері працювало для мене. Це доступно в меню «Симулятор iOS».


1
Не працював для мене. Все ще відображається чорний екран із рядком стану (навіть очищений код). Після зміни налагоджувача на GDB, як згадував Імран, моя програма завантажується.
user427969

1
Після скидання вмісту та налаштувань вийдіть із тренажера та запустіть його знову. Працював як шарм.
justinkoh

45

перейдіть до меню Продукт і знайдіть там меню Редагувати схему.

Перебуваючи у вікні редагування схеми, виберіть параметр «Виконати» в лівій частині екрана, а потім у правій частині, змініть налагоджувач з LLDB на GDB.


6
Я змінив LLDB на GDB, але після цього він завжди відображається як "Приєднання до MYApp" і показує наступні журнали. Copyright GDU gdb 6.3.50-20050815 (версія Apple gdb-1822) (Вс 5 серпня 03:00:42 UTC 2012) Copyright 2004 Free Software Foundation, Inc. Ласкаво просимо змінити його та / або поширити його копії за певних умов. Введіть "показати копіювання", щоб побачити умови. Для GDB абсолютно немає гарантії. Введіть "показати гарантію" для деталей. Цей GDB був налаштований як "x86_64-apple-darwin".
iOS_Developer

8
У мене були два симулятори (5.1 і 6.0), вийдіть з коду і скиньте вміст обох тренажерів ........ це дивно, але це працювало для мене .... :-)
iOS_Developer

32
-1. Це великий крок назад. Скидання вмісту тренажера усуває проблему, не змінюючи налагоджувача.
ozz

2
@cdo Скидання вмісту для мене не вийшло, змінив тренажер так
Teofilo Israel Vizcaino Rodrig

4
МОЖНА ДОПОМОГА: Я теж змінився на GDB, запустив додаток один раз, потім повернувся до LLDB і воно знову працювало! Тож вам не доведеться відмовлятися від переваг LLDB! Спробувати.
Чарльз

22

У мене виникла та ж проблема, і через деякий час я дізнався, що це пов’язано з тим, що мій проект XCode включав посилання на папку на папку з назвою Resources .

Здається, що XCode не любить цього імені.

Просто усунення посилання на папку або перейменування папки вирішило проблему.


1
Це знадобило мені майже день, щоб зрозуміти. #fail
Техас

1
Це працювало для мене. Після перейменування мені довелося перезапустити XCode та Simulator.
Суран

21

ДВІ МЕТОДИ

Спосіб 1 : Всередині папки Підтримка програм -> iPhone Simulator -> У кожній версії симулятора iOS -> Програми -> Видаліть усі файли, представлені тут.

Тепер перейдіть до Продукти -> Очистити

Тепер запустіть його на будь-якому тренажері і він спрацює.

Спосіб 2 :

Торкніться Скидання


2
Це єдиний метод, який працював на мене. Я спричинив проблему, назвавши одну з моїх папок "Ресурси", і це вбило мій проект. Apple справді має робити краще.
Zack Morris

9

Крок1: пінг

$ 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 за допомогою $ dscacheutil -flushcache та поверніться до кроку 1 , інакше продовжте крок 3 .

Крок 3: Правильний формат файлу: він повинен бути unix або LF *

$ file /etc/hosts

Це має повернути: /etc/hosts: ASCII English text

Якщо він повертає щось подібне, /etc/hosts: ASCII English text, with CR line terminators тоді файл знаходиться у неправильному форматі і, ймовірно, ігнорується.

Змініть закінчення файлу на unix або LF за допомогою улюбленого редактора тексту.

  • У піднесеному тексті 2 це можна зробити за допомогою меню перегляду: Вид> Закінчення рядків> Unix

Очистіть кеш-пам'ять dns ( $ dscacheutil -flushcache) та поверніться до кроку 1


Спробувавши все інше, це НАРЕШЧО вирішило мою проблему! Дякую!
Іона

Нещодавно я модифікував etc / hosts, погано - дякую за відповідь
bdalziel

5

Як і у відповіді fundtimer, винуватцем вини став місцевий файл хостів.

Мені довелося змінити свої /etc/hostsдозволи назад за замовчуванням після ненавмисної зміни:

sudo chmod 644 /etc/hosts

Після цього для мене працював тренажер / LLDB.


У своєму випадку я додав, що я відредагував файл хостів, щоб мати цю адресу ':: 1 newlocaldomain.local'
субгарб

5

Це стара тема, але я вважаю, що для останньої версії macOS щось змінилося.

Я натрапив на цю проблему, намагаючись запустити тестовий набір інтерфейсу для додатка iOS в тренажері на macOS Mojave Beta та Xcode 9.4.1.

Виявляється, на macOS Mojave codesignінструмент (який є частиною самої ОС, а не частиною Інструментів командного рядка або Xcode) підписує процеси в загартований час виконання середовищі яке включає в себе виконання підпису коду виконання, перевірку перевірки бібліотеки, hard, kill, та обмеження налагодження. Це разом із захистом цілісності системи в macOS Mojave запобігає підключенню налагоджувача lldb до бігової цілі.

Щоб вирішити цю проблему, вам потрібно запропонувати такі варіанти:

  1. Очевидним є, мабуть, просто використання Xcode 10. Він, здається, обробляє з'єднання витончено.

  2. Перезавантажте ОС у режимі відновлення та вимкніть захист цілісності системи з терміналу за допомогою csrutil disable. Потім налагоджувач підключається щасливо.

Я витратив чимало часу на цю голову, і мені вдалося вирішити все це, прочитавши наступну статтю: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Всього два мої центи. Сподіваюся, що це комусь допоможе.


Але це має сенс працювати лише на тренажері (тобто на MacOS)? Я отримую помилку на роботі пристрою ...
Ділан Ніколсон

... що виявилося тому, що я встановлював .app лише після повторного підписання. Як тільки я встановив повний .ipa, це було добре.
Ділан Ніколсон

4

Я якось видалив або видалив записи з мого / etc / hosts файлу, і я отримав ту ж помилку. Ви повинні перевірити, чи є у вашому файлі / etc / hosts рядок "127.0.0.1 localhost". Це мені допомогло!


2
Дякую. У мене була ця помилка і спробувала все, нічого не вийшло. Я перевірив файл хостів, і він був порожнім, за винятком одного рядка з антивірусу Avast. Avast фактично писав над моїм раніше налаштованим файлом хостів (WTH?)! Я додав рядок "127.0.0.1 localhost" до файлу хостів, зберег його. Потім я скинув симулятор iPhone, зробив "Очистити" в Xcode, і він запустився прямо наступного разу, коли я запустив додаток. Більше Avast для мене немає.
Райан

Так, і мені не подобається avast
педруан

Зайняв мене час, щоб дізнатися, як потрапити до папки хостів. У Finder виберіть меню "Go" і виберіть "Перейти до папки ..." Потім введіть: /private/etc/hosts.txt
Jonah

Насправді вам може знадобитися ввести $ sudo / etc / hosts
pedrouan

Я знаю, що це відповідь рік тому. Але я хотів би знати, чи є різниця між '127.0.0.1 localhost' та '127.0.0.1 serverchat.local'. Чи слід видалити serverchat.local і замінити його на localhost? Поради, будь ласка ...
Мелвін Лай

4

Я знаю, що це давнє запитання, але воно з’явилося першим для мене, коли я здійснив пошук в Google, щоб "не вдалося приєднати до ідентифікатора обробки". Я використовую Xcode 7. Сталося після виходу iOS9, і я оновив свою швидку програму для swift 2.

Видалення мого додатка в тренажері та створення нової збірки та запуску очистило його.


1
Подібне і тут, за винятком того, що я просто натиснув додаток В тренажері, і він з’явився, але потім проблеми зупинилися. Врешті-решт я просто скинув тренажер.
MCB

2

Я просто видалив додаток із тренажера (як і на фактичному пристрої), і коли я повторно запустив його, все працювало нормально.


2

У мене є та ж проблема, і для мене рішення таке: -

Просто видаліть додаток із симулятора, а потім очистіть та запустіть проект.

Нехай це допоможе і комусь іншому.


1

Я щойно опублікував це на Форумі розробників. Це було просте рішення і може допомогти комусь тут:

У мене була точно така ж проблема: при використанні будь-якої поточної версії Xcode 4.xx та налагоджувача LLDB, а також будь-якої версії симулятора XCode послідовно зазнав аварії з "не вдалося приєднати до процесу ..." Моє єдине рішення - переключитися на налагоджувач GDB. Це було невтішно, оскільки я дуже хотів спробувати новий, надійний LLDB в XCode 4.6-DP.

І тоді я згадав; Я деякий час тому змінив свій файл хостів мережі / сервера на ... etc / hosts, щоб розмістити кілька віртуальних хостів сервера Apache2, тобто я видалив рядок:

127.0.0.1 локахост

Це було все. Видаливши цю лінію, XCode зазнав аварії, коли приєднався до симулятора з LLDB. Відновивши цю лінію, XCode чудово співпрацював з LLDB та Simulator.

У будь-якому випадку це може бути не вашою проблемою, але це варто вивчити. Що стосується мене, це серйозна незадокументована помилка.


1

У мене була така ж проблема при налагодженні на пристрої. Додаток вийшов з ладу при запуску, але не відображався як запущений процес.

Моє рішення - використовувати деякий додаток для перегляду процесів (наприклад, Статус системи чи подібне). Знайдіть застаріле додаток і знайдіть ідентифікатор батьківського процесу, який зазвичай є налагоджувачем .

Перейдіть на Xcode, Product -> Attach to Process -> Ідентифікатор процесу та приєднайте PID до процесу відладчика . Зачекайте секунду, а потім натисніть кнопку Зупинити .

Процеси застарілого налагоджувача та програми зникають.

(При використанні тренажера еквівалентом було б використання терміналу, ps та вбити процес App. Хоча я цього не намагався).


Я наткнувся на цю помилку до і після того, як бив головою об це протягом останніх півгодини або близько цього, це призвело до мого виправлення. Спасибі тонна людина. '
Gowiem

1

У моєму випадку рішення було іншим: режим запуску був "Відпустити". Змінивши на "Налагодження" виправили це. У Xcode 4.5.x з цим не було проблем.


1

Проблема для мене була викликана досить дурною помилкою: я створив нову ціль для свого проекту, дублюючи існуючу ціль і забув змінити ідентифікатор зв’язку у файлі info.plist цілі.


1

Я вирішив цю проблему, видаливши вміст даних, отриманих Xcode.

У пошуку знайдіть 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 відсутні. Мене пропустили, побачивши це. Однак я побачив цю відповідь, і хоча мені не подобалось скидати вміст симулятора додатків, я це зробив, і це справді працювало на мене.

А також зміна налагоджувача з Product -> Scheme -> Edit Scheme (Run) з LLDB на GDB також не працювала для мене.

Ps: - Вибачте, я додав цю відповідь як коментар підтримки до вище, оскільки у мене немає 15 репутації, яка підтверджує вищезгадану відповідь або 50 балів репутації, щоб коментувати вище.



1

Наступне працювало для мене на iOS 9.1:

  1. Просто видаліть додаток із симулятора
  2. Закрийте тренажер (Cmd + Q)
  3. Очистіть проект Xcode
  4. Запустити на тренажері

Примітка: Не потрібно скидати тренажер.


1

Я працюю над додатком Ionic 2, я новачок у цьому і навіть Xcode та симуляторі.
Спочатку моє додаток працювало на тренажері, але через деякий час воно почало генерувати помилку типу
xcode error: не вдалося приєднати до ідентифікатора процесу

Я шукав, спробував усі відповіді вище, але мою проблему не було вирішено.
Тоді я оновив ( Ionic , НПМ , Cordova ) моя машина Setup-

******************************************************
 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. іонний пробіг -л
  2. іонна побудова ios.
  3. імпортовані зміни xcode в xcode.
  4. Скидання вмісту та налаштування як-
    введіть тут опис зображення
  5. очистити продукт від xcode,
    введіть тут опис зображення
  6. Запустіть Xcode і зараз він працює на тренажері.

Рада бачити це !!!


1

Стільки відповідей на це, і я не бачив, що вважаю правильним. Це проблема з авторизацією. Введіть це в терміналі:

sudo DevToolsSecurity -enable


1

На Xcode 9+ зробіть наступне: Перейдіть до меню Xcode: Product-Scheme - Edit Scheme, і на вкладці Run запустіть переконайтесь, що прапорець Debug Executable. Це воно!

введіть тут опис зображення


Як не дивно, для мене це зняття прапорця змушує працювати: /
hyouuu

0

Просто скиньте вміст та налаштування симулятора iOS, а потім очистіть код, натиснувши команду + shift + k клавіші, щоб очистити код. Це працювало для мене


0

Настільки кульгавим, як тільки це було, перезавантаження мого комп’ютера було єдиним рішенням. Я спробував перейти з LLDB на GDB, скинути вміст симулятора та перезапустити Xcode. Єдине, що спрацювало - перезапустити мій комп’ютер, повторно відкрити Xcode та повторно запустити додаток.


0

У мене була така ж проблема. Я зробив кілька комбінацій відповідей, наданих, щоб це спрацювало. :)

очистіть папку збірки, натиснувши "Продукт" у меню "Бар". натискаючи клавішу Alt, натисніть «Очистити папку збірки». Тепер перезавантажте свій xcode та тренажер. Тепер це має працювати. якщо ні, спробуйте змінити ідентифікатор пакета та симулятор "Скидання вмісту", а потім перезапустіть xcode та симулятор.


0

Сьогодні перебігли це. Я випадково видалив свої запуски зображень із моїх цільових налаштувань.


0

спробуйте зробити наступні кроки:

  • Перейдіть до продукту / схеми / редагувати схему, а потім виберіть пункт «Виконати».
  • Виберіть Info Tan і встановіть Debugger None.
  • Запустити проект. Він повинен працювати (без налагоджувача)
  • Поверніться до редагування схеми та оберіть налагоджувальний LLDB
  • Запустити проект. Це працює.

Можливо, додатково потрібно видалити отримані дані та зробити продукт / очистити


0

Чи у вас кілька користувачів увійшли в систему на вашій машині? У мене на ноутбуці є облікові записи "особистого" та "робочого". Цю помилку я отримав, коли намагався налагоджувати свій особистий рахунок, але тренажер залишив роботу на моєму робочому акаунті. Вихід із тренажера в іншому обліковому записі вирішив мою проблему.


0

і ще один для запису: (жодна з пропозицій не працювала для мене)

Гірський лев: XCode 4.6.3

  • Я 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, і він працює ідеально.

Дивно, але правда


для мене це відповідь, тому що це вирішило моє питання гаразд
Мохіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.