Không thể đính kèm vào Xcode ID quy trình


113

Bất cứ ai đã trải qua vấn đề này? Hôm qua tôi vẫn có thể chạy ứng dụng của mình trong trình mô phỏng nhưng bây giờ tôi không thể chạy ứng dụng của mình vì Xcode in lỗi này trong bảng điều khiển:

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

Ảnh chụp màn hình cho lỗi

Tôi đã cố gắng cài đặt lại, thực hiện bài đăng này và tạo dự án mới nhưng không trả lại may mắn. Bất cứ ai có thể giải quyết vấn đề này?

Tôi sử dụng Xcode 4.5 Preview 2 và cố gắng chạy trình mô phỏng iOS 6


Tôi nghĩ rằng tôi đang phải đối mặt với chính xác cùng một vấn đề ( stackoverflow.com/questions/11688720/... ) ... lỗi cho là "thất bại trong việc gắn với quá trình ID 0"
PierrOz

1
Tôi đã mô tả một giải pháp khả thi tại đây stackoverflow.com/a/12504712/647644
Lindemann

Làm thế nào bạn giải quyết vấn đề này? xin vui lòng cho tôi biết quá. tôi thực sự cần giải pháp.
ios

vui lòng xem câu trả lời được chấp nhận
Rendy

1
Tôi khuyên mọi người nên thử câu trả lời 'Đặt lại nội dung và cài đặt trong trình mô phỏng' trước khi thử câu trả lời thực sự được chấp nhận là thay đổi trình gỡ lỗi.
dartacus

Câu trả lời:


153

Tôi đặt lại nội dung và cài đặt trong trình mô phỏng. Điều này có sẵn trong menu "Trình mô phỏng iOS".


1
Không làm việc cho tôi. Vẫn hiển thị màn hình đen với thanh trạng thái (thậm chí đã được làm sạch mã). Sau khi thay đổi trình gỡ lỗi thành GDB như Imran đã đề cập, ứng dụng của tôi tải tốt.
user427969

1
Sau khi đặt lại nội dung và cài đặt, hãy thoát khỏi trình mô phỏng và khởi động lại. Làm việc như người ở.
justinkoh

45

chuyển đến menu Sản phẩm và tìm menu Chỉnh sửa sơ đồ ở đó.

Trong cửa sổ Edit Scheme, chọn tùy chọn "Run" ở bên trái màn hình và sau đó ở bên phải, thay đổi trình gỡ lỗi từ LLDB thành GDB.


6
Tôi đã thay đổi LLDB thành GDB, nhưng sau đó nó luôn hiển thị như "Đang đính kèm với MYApp" và hiển thị các nhật ký sau. GNU gdb 6.3.50-20050815 (Apple phiên bản gdb-1822) (Chủ nhật ngày 5 tháng 8 03:00:42 UTC 2012) Bản quyền 2004 Free Software Foundation, Inc. GDB là phần mềm miễn phí, được cung cấp bởi Giấy phép Công cộng GNU, và bạn hoan nghênh việc thay đổi nó và / hoặc phân phối các bản sao của nó trong những điều kiện nhất định. Nhập "hiển thị sao chép" để xem các điều kiện. Hoàn toàn không có bảo hành cho GDB. Nhập "hiển thị bảo hành" để biết chi tiết. GDB này đã được định cấu hình là "x86_64-apple-darwin".
iOS_Developer

8
Tôi đang có hai trình mô phỏng (5.1 và 6.0), thoát khỏi xcode và đặt lại nội dung của cả hai trình mô phỏng ........ thật kỳ lạ nhưng nó đã hoạt động đối với tôi .... :-)
iOS_Developer

32
-1. Đây là một bước thụt lùi lớn. Đặt lại nội dung của trình mô phỏng sẽ khắc phục được sự cố mà không cần phải thay đổi trình gỡ lỗi.
ozz

2
nội dung @cdo lập lại không làm việc cho tôi, thay đổi có mô phỏng
Teofilo Israel Vizcaino Rodrig

4
MIGHT HELP: Tôi cũng đã đổi sang GDB, chạy ứng dụng một lần, sau đó quay lại LLDB và nó hoạt động trở lại! Vì vậy, bạn không cần phải từ bỏ những lợi ích của LLDB! Hãy thử một lần.
Charles

22

Tôi gặp phải vấn đề tương tự và sau một thời gian, tôi phát hiện ra rằng đó là do thực tế là dự án XCode của tôi bao gồm Tham chiếu Thư mục đến một thư mục có tên Tài nguyên .

Có vẻ như XCode không thích cái tên đó.

Chỉ cần xóa tham chiếu thư mục hoặc đổi tên thư mục đã giải quyết được vấn đề.


1
Điều này khiến tôi mất gần một ngày để tìm ra. #fail
Texas

1
Điều này đã làm việc cho tôi. Sau khi đổi tên, tôi phải khởi động lại XCode và Simulator.
Suran

21

HAI PHƯƠNG PHÁP

Phương pháp 1 : Bên trong thư mục Hỗ trợ ứng dụng -> Trình mô phỏng iPhone -> Trong từng phiên bản giả lập của iOS -> Ứng dụng -> Xóa tất cả các tệp hiện có tại đây.

Bây giờ đi tới Sản phẩm -> Làm sạch

Bây giờ hãy chạy nó trên bất kỳ trình mô phỏng nào và nó sẽ hoạt động.

Phương pháp 2 :

Nhấn vào Đặt lại


2
Đây là phương pháp duy nhất hiệu quả với tôi. Tôi đã gây ra sự cố bằng cách đặt tên cho một trong những thư mục của mình là Tài nguyên và nó đã giết chết dự án của tôi, chỉ là có một trái tim đính kèm. Apple thực sự nên làm tốt hơn.
Zack Morris

9

Bước 1: ping

$ ping localhost

Điều này sẽ trả về một cái gì đó như

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

Nếu cách này hiệu quả, câu trả lời này sẽ không khắc phục được sự cố của bạn, hãy thử cách khác.

Nếu ping trả về một cái gì đó khác, ví dụ: ping: cannot resolve localhost: Unknown hostmột cái gì đó bị trục trặc với /etc/hoststệp của bạn , hãy chuyển sang Bước 2

Bước 2: Kiểm tra / etc / hosts

Kiểm tra xem phần trên cùng của /etc/hoststệp của bạn có giống như thế này không

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

Nếu nó không có các mục nhập này trong tệp, hãy nhập chúng ở đầu tệp, xóa bộ đệm dns bằng cách sử dụng $ dscacheutil -flushcachevà quay lại Bước 1 , nếu không thì tiếp tục sang Bước 3 .

Bước 3: Định dạng tệp đúng: Nó phải là unix hoặc LF *

$ file /etc/hosts

Điều này sẽ trả về: /etc/hosts: ASCII English text

Nếu nó trả về một cái gì đó giống như /etc/hosts: ASCII English text, with CR line terminators thì tệp ở định dạng sai và có khả năng bị bỏ qua.

Thay đổi phần cuối của dòng tệp thành unix hoặc LF bằng trình soạn thảo văn bản yêu thích của bạn.

  • Trong Sublime Text 2, điều này có thể được thực hiện thông qua trình đơn xem: View> Line Endings> Unix

Xả bộ nhớ đệm dns ( $ dscacheutil -flushcache) và quay lại bước 1


Sau khi thử mọi thứ khác, điều này CUỐI CÙNG đã giải quyết được vấn đề của tôi! Cảm ơn!
Jonah

Gần đây tôi muốn sửa đổi etc / hosts, kém - cảm ơn cho câu trả lời
bdalziel

5

Tương tự như câu trả lời của fundtimer, tệp máy chủ lưu trữ cục bộ dường như là thủ phạm.

Tôi đã phải thay đổi /etc/hostsquyền của mình trở lại mặc định sau một thay đổi vô tình:

sudo chmod 644 /etc/hosts

Sau đó, trình mô phỏng / LLDB đã làm việc cho tôi.


Trong trường hợp của tôi, tôi đã thêm, tôi đã chỉnh sửa tệp máy chủ để có địa chỉ này ':: 1 newlocaldomain.local'
subharb

5

Đây là một chủ đề cũ, nhưng tôi tin rằng mọi thứ đã thay đổi một chút đối với phiên bản macOS mới nhất.

Tôi đã vấp phải sự cố khi cố gắng chạy bộ kiểm tra giao diện người dùng cho ứng dụng iOS trong trình mô phỏng trên macOS Mojave Beta và Xcode 9.4.1.

Hóa ra, trên macOS Mojave, codesigncông cụ (là một phần của chính hệ điều hành chứ không phải là một phần của Công cụ dòng lệnh hoặc Xcode) ký hiệu các quy trình vào môi trường thời gian chạy cứng bao gồm thực thi ký mã thời gian chạy, xác thực thư viện, hard, kill, và gỡ lỗi các hạn chế. Điều này, cùng với Bảo vệ toàn vẹn hệ thống trong macOS Mojave, ngăn trình gỡ lỗi lldb kết nối với mục tiêu đang chạy.

Để giải quyết vấn đề này, bạn phải lựa chọn:

  1. Một điều hiển nhiên, có lẽ là chỉ sử dụng Xcode 10. Nó dường như xử lý kết nối một cách duyên dáng.

  2. Khởi động lại hệ điều hành vào Chế độ khôi phục và tắt Bảo vệ toàn vẹn hệ thống từ Thiết bị đầu cuối với csrutil disable. Trình gỡ lỗi sau đó kết nối vui vẻ.

Tôi đã dành khá nhiều thời gian cho vấn đề này và có thể giải quyết tất cả sau khi đọc bài viết sau: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Chỉ hai xu của tôi. Hy vọng điều này sẽ giúp ai đó.


Nhưng điều đó chỉ có ý nghĩa khi chạy trên trình mô phỏng (tức là trên MacOS) phải không? Tôi nhận được lỗi chạy trên một thiết bị ...
Dylan Nicholson

... hóa ra là do tôi chỉ cài đặt .app sau khi ký lại. Sau khi tôi cài đặt .ipa đầy đủ, nó ổn.
Dylan Nicholson

4

Tôi đã xóa bằng cách nào đó hoặc xóa các bản ghi khỏi tệp / etc / hosts của mình và tôi gặp lỗi tương tự. Bạn nên kiểm tra xem trong tệp / etc / hosts của mình có dòng "127.0.0.1 localhost" hay không. Điều này đã giúp tôi!


2
Cảm ơn. Tôi đã gặp lỗi này và đã thử mọi thứ, không có gì hoạt động. Tôi đã kiểm tra tệp máy chủ của mình và tệp này trống, ngoại trừ một dòng từ chương trình chống vi-rút Avast. Avast thực sự đã viết trên tệp máy chủ lưu trữ tùy chỉnh trước đây của tôi (WTH?)! Tôi đã thêm dòng '127.0.0.1 localhost' vào tệp máy chủ, đã lưu nó. Sau đó, tôi đặt lại trình mô phỏng iPhone, thực hiện 'Dọn dẹp' trong Xcode và nó khởi động ngay vào lần tôi chạy ứng dụng tiếp theo. Không còn Avast cho tôi.
Ryan

Vâng, tôi cũng không thích avast
pedrouan

Tôi đã mất một lúc để tìm cách truy cập thư mục máy chủ. Từ Finder, chọn menu "Go" và chọn "Go to folder ..." Sau đó nhập: /private/etc/hosts.txt
Jonah

Trên thực tế, bạn có thể cần nhập $ sudo / etc / hosts
pedrouan

Tôi biết đây là câu trả lời của một năm trước. Nhưng tôi muốn biết liệu có sự khác biệt giữa '127.0.0.1 localhost' và '127.0.0.1 serverchat.local' hay không. Tôi có nên xóa serverchat.local và thay thế nó bằng localhost không? Tư vấn xin vui lòng ...
Melvin Lai

4

Tôi biết đây là một câu hỏi cũ, nhưng nó xuất hiện đầu tiên đối với tôi khi tôi thực hiện tìm kiếm trên google cho "không thể đính kèm với ID quy trình". Tôi đang sử dụng Xcode 7. Đã xảy ra sau khi iOS9 được phát hành và tôi đã cập nhật ứng dụng nhanh của mình cho swift 2.

Xóa ứng dụng của tôi trong trình mô phỏng và thực hiện xây dựng và chạy mới sẽ xóa nó.


1
Tương tự ở đây cũng vậy, ngoại trừ tôi chỉ cần nhấp vào ứng dụng TRONG trình mô phỏng và nó xuất hiện, nhưng sau đó có vấn đề dừng lại. Cuối cùng, tôi chỉ cần thiết lập lại trình mô phỏng.
MCB

2

Tôi vừa xóa ứng dụng khỏi trình mô phỏng (giống như bạn làm trên thiết bị thực tế) và khi tôi chạy lại thì mọi thứ đều hoạt động tốt.


2

Tôi cũng gặp vấn đề tương tự và đối với tôi giải pháp là: -

Chỉ cần xóa ứng dụng khỏi Trình mô phỏng, sau đó xóa và Chạy dự án.

Nó cũng có thể giúp ích cho người khác.


1

Tôi vừa đăng bài này trên Diễn đàn nhà phát triển. Đó là một giải pháp đơn giản và có thể giúp ai đó ở đây:

Tôi đã gặp chính xác vấn đề tương tự: khi sử dụng bất kỳ phiên bản hiện tại nào của Xcode 4.xx và trình gỡ lỗi LLDB, cộng với bất kỳ phiên bản nào của Trình mô phỏng, XCode liên tục gặp sự cố với 'không thể đính kèm vào quá trình ...' Cách giải quyết duy nhất của tôi là chuyển sang trình gỡ lỗi GDB. Điều này thật đáng thất vọng vì tôi thực sự muốn thử LLDB mới, mạnh mẽ trong XCode 4.6-DP.

Và rồi tôi nhớ ra; Tôi đã thay đổi tệp máy chủ mạng / máy chủ của mình tại ... etc / hosts một thời gian trước để chứa một số máy chủ ảo máy chủ Apache2, tức là tôi đã xóa dòng:

127.0.0.1 locahost

Điều đó là vậy đó. Xóa dòng đó, XCode bị lỗi khi gắn vào Trình mô phỏng bằng LLDB. Khôi phục dòng đó, XCode hoạt động tốt với LLDB và Trình mô phỏng.

Dù sao, đây có thể không phải là vấn đề của bạn nhưng rất đáng để khám phá. Theo như tôi được biết, đó là một lỗi nghiêm trọng không có giấy tờ.


1

Tôi đã gặp sự cố tương tự khi gỡ lỗi trên thiết bị. Ứng dụng gặp sự cố khi khởi động nhưng không xuất hiện dưới dạng một quá trình đang chạy.

Giải pháp của tôi là sử dụng một số ứng dụng xem quy trình (ví dụ: Trạng thái hệ thống hoặc tương tự). Tìm ứng dụng cũ của bạn và sau đó tìm id quy trình mẹ thường là trình gỡ lỗi .

Đi vào Xcode, Sản phẩm -> Đính kèm vào Quy trình -> Theo id quy trình và đính kèm vào PID quy trình trình gỡ lỗi . Chờ một giây rồi nhấn nút Dừng .

Trình gỡ lỗi cũ và các quy trình ứng dụng biến mất.

(Khi sử dụng trình mô phỏng, điều tương tự sẽ là sử dụng thiết bị đầu cuối, ps và giết tiến trình Ứng dụng. Tuy nhiên, tôi chưa thử điều đó).


Tôi đã gặp phải lỗi này trước và sau khi đập đầu vào lỗi này trong nửa giờ qua hoặc lâu hơn, điều này đã dẫn đến việc sửa chữa của tôi. Cảm ơn một người đàn ông tấn. '
Gowiem

1

Trong trường hợp của tôi, giải pháp khác: chế độ chạy là "Phát hành". Thay đổi thành "Gỡ lỗi" đã khắc phục sự cố. Xcode 4.5.x không có vấn đề gì với nó.


1

Vấn đề đối với tôi là do một sai lầm khá ngu ngốc: Tôi đã tạo một mục tiêu mới cho dự án của mình bằng cách sao chép một mục tiêu hiện có và quên thay đổi Số nhận dạng gói trong tệp info.plist của mục tiêu.


1

Tôi đã khắc phục sự cố này bằng cách xóa nội dung dữ liệu có nguồn gốc Xcode.

Trong công cụ tìm, nhấn SHIFT + CMD + G và nhập đường dẫn bên dưới và xóa tất cả dữ liệu bên trong DerivedData:

  ~/Library/Developer/Xcode/DerivedData

nhập mô tả hình ảnh ở đây

Đồng thời đặt lại các bản dựng giả lập

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

1

Câu trả lời trên thực sự giúp tôi. https://stackoverflow.com/a/12819757/1752988 Vì trong XCode của mình, tôi đã sử dụng bảng phân cảnh và bộ điều khiển chế độ xem tùy chỉnh. và trong danh sách cảnh báo của nó, tôi thấy một số tệp nib bị thiếu. Tôi đã bị dẫn dắt khi nhìn thấy điều đó. Tuy nhiên, tôi đã thấy câu trả lời này và mặc dù tôi không muốn đặt lại nội dung Trình mô phỏng ứng dụng của mình, nhưng tôi đã làm điều đó và nó thực sự hiệu quả với tôi.

Và việc thay đổi Trình gỡ lỗi từ Sản phẩm -> Đề án -> Chỉnh sửa lược đồ (Chạy) từ LLDB sang GDB cũng không hoạt động với tôi.

Ps: - Xin lỗi, tôi đã thêm câu trả lời này như một bình luận hỗ trợ ở trên, vì tôi không có 15 điểm danh tiếng ủng hộ câu trả lời trên hoặc 50 điểm danh tiếng để bình luận ở trên.


1

Tôi đã giải quyết vấn đề này bằng cách thoát khỏi XCode và Simulator. Mở lại Dự án. Làm xong.


1

Những điều sau đây phù hợp với tôi trên iOS 9.1:

  1. Chỉ cần gỡ cài đặt ứng dụng khỏi trình mô phỏng
  2. Thoát trình mô phỏng (Cmd + Q)
  3. Làm sạch dự án Xcode của bạn
  4. Chạy trên trình mô phỏng

Lưu ý: Không cần thiết lập lại trình mô phỏng.


1

Tôi đang làm việc trên ứng dụng Ionic 2, tôi chưa quen với ứng dụng này và thậm chí cả Xcode và trình mô phỏng.
Ban đầu ứng dụng của tôi đang hoạt động trên trình mô phỏng nhưng sau một thời gian, nó bắt đầu tạo ra lỗi như -
lỗi xcode: không thể đính kèm vào id quy trình

Tôi đã tìm kiếm, thử tất cả các câu trả lời ở trên nhưng vấn đề của tôi không được giải quyết.
Sau đó, tôi cập nhật ( Ionic , npm , cordova ) thiết lập máy của tôi-

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



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

Sau đó, tôi chỉ chạy một lệnh từ thư mục chính ứng dụng của mình

  1. ionic run -l
  2. ios xây dựng ion.
  3. xcode đã nhập sẽ thay đổi thành xcode.
  4. Đặt lại nội dung và cài đặt thành-
    nhập mô tả hình ảnh ở đây
  5. xóa sản phẩm khỏi xcode,
    nhập mô tả hình ảnh ở đây
  6. Chạy Xcode và bây giờ nó đang hoạt động trên trình mô phỏng.

Hạnh phúc khi thấy điều này !!!


1

Rất nhiều câu trả lời cho điều này và tôi không thấy điều tôi tin là câu trả lời chính xác. Đó là một vấn đề với ủy quyền. Nhập cái này vào Terminal:

sudo DevToolsSecurity -enable


1

Trên Xcode 9+, hãy làm như sau: Đi tới menu Xcode: Product-Scheme - Edit Scheme và trong tab Run, hãy chắc chắn rằng hộp kiểm Debug Executable được chọn! Đó là nó!

nhập mô tả hình ảnh ở đây


Thật kỳ lạ đối với tôi, việc bỏ chọn hộp sẽ làm cho nó hoạt động: /
hyouuu

0

Chỉ cần đặt lại nội dung và cài đặt của trình mô phỏng iOS, sau đó làm sạch mã bằng cách nhấn phím Command + shift + k để làm sạch mã.


0

Đúng là khập khiễng, khởi động lại máy tính của tôi là giải pháp duy nhất có hiệu quả. Tôi đã thử chuyển từ LLDB sang GDB, đặt lại nội dung của Trình mô phỏng và khởi động lại Xcode. Điều duy nhất hoạt động là khởi động lại máy tính của tôi, mở lại Xcode và chạy lại ứng dụng.


0

Tôi đã từng gặp vấn đề tương tự. Tôi đã thực hiện một số kết hợp các câu trả lời được đưa ra để làm cho nó hoạt động. :)

dọn dẹp Thư mục Xây dựng bằng cách nhấp vào "Sản phẩm" trong Thanh Menu. trong khi nhấn phím Alt-click vào "Clean Build Folder". Bây giờ khởi động lại xcode và trình mô phỏng của bạn. Bây giờ nó sẽ hoạt động. nếu không, hãy thử thay đổi số nhận dạng gói và "Đặt lại nội dung" của Trình mô phỏng rồi khởi động lại xcode và trình mô phỏng.


0

Đã chạy qua điều này ngày hôm nay. Tôi đã vô tình xóa hình ảnh Khởi chạy khỏi Cài đặt mục tiêu của mình.


0

cố gắng thực hiện các bước tiếp theo:

  • Vào Product / Scheme / Edit Scheme rồi chọn phần Run.
  • Chọn Info Tan và đặt Debugger None.
  • Chạy dự án. Nó phải đang hoạt động (không có trình gỡ lỗi)
  • Quay lại Chỉnh sửa lược đồ và trình gỡ lỗi selecet LLDB
  • Chạy dự án. Nó đang làm việc.

Ngoài ra, có thể bạn cần xóa dữ liệu bắt nguồn và thực hiện Sản phẩm / Làm sạch


0

Bạn có nhiều người dùng đăng nhập vào máy của mình không? Tôi có tài khoản "cá nhân" và "cơ quan" trên máy tính xách tay của mình. Tôi gặp lỗi này khi cố gắng gỡ lỗi từ tài khoản cá nhân của mình, nhưng tôi đã để trình mô phỏng chạy trong tài khoản công việc của mình. Thoát trình mô phỏng trong tài khoản khác đã khắc phục sự cố của tôi.


0

và một cái khác cho hồ sơ: (không có đề xuất nào phù hợp với tôi)

Sư tử núi: XCode 4.6.3

  • Tôi moved the whole Application to Trashvà xóa sau các thư mục khác
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • khởi động lại Hệ thống và cài đặt lại XCode


0

Cũng có cùng một vấn đề ngày hôm nay. tôi đang sử dụng Xcode 4.6.3. tôi đã đóng dự án của mình và mở nó bằng Xcode 5 và nó đang chạy hoàn hảo.

Lạ nhưng có thật


đối với tôi đó là một câu trả lời vì nó đã giải quyết được câu hỏi của tôi ổn
Mohit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.