2012-03-15 33 views
71

Tôi gặp sự cố Tôi đang xử lý sự cố xảy ra rất thường xuyên và dường như không xảy ra khi tôi có mọi thứ đang chạy trong Xcode.Đính kèm trình gỡ lỗi vào ứng dụng iOS sau khi khởi chạy

Có thể chạy một ứng dụng bình thường (tức là từ Springboard) cho đến khi vấn đề của tôi xảy ra không, sau đó đính kèm trình gỡ lỗi vào thời điểm đó?

Tôi muốn thực hiện việc này mà không cần phải bẻ khóa nếu có thể.

Trả lời

95

Với thiết bị của bạn được kết nối với máy Mac, hãy chọn Sản phẩm -> Đính kèm với quy trình -> Theo nhận dạng quy trình (PID) hoặc Tên ... trong Xcode. Trong hộp thoại, nhập tên ứng dụng của bạn khi nó xuất hiện trong trình điều hướng gỡ lỗi khi bắt đầu qua Xcode.

Nếu ứng dụng đang chạy, trình gỡ lỗi sẽ đính kèm vào quy trình đang chạy. Nếu nó không chạy, nó sẽ đợi ứng dụng khởi động và sau đó đính kèm.

+0

Ole, cảm ơn cho câu trả lời. Tôi đang tìm cách để làm điều này. Khi tôi đi để đính kèm trình gỡ lỗi, có vẻ như nó đính kèm nhưng sau đó tôi nhận được thông báo này: cảnh báo: Không thể đọc biểu tượng cho/var/mobile/Applications/{GUID}/{APPNAME} .app/{APPNAME} (tệp không tìm). Khi tôi nhấn nút "stop" trong XCode, ứng dụng sẽ kết thúc. Có vẻ như nó không tìm thấy các biểu tượng gỡ lỗi, mặc dù nó đang được xây dựng trong chế độ gỡ lỗi. Bất kỳ ý tưởng? – Brian

+2

Tôi gặp sự cố với ** Nếu nó không chạy, ứng dụng sẽ đợi ứng dụng khởi chạy và sau đó đính kèm. ** một phần. Nó không hoạt động. Tôi sử dụng tên quy trình để chờ ứng dụng gọi. Tôi khởi chạy ứng dụng trên iPhone, nhưng trình gỡ lỗi không bao giờ nhận ra ứng dụng đã bắt đầu. – Jonny

+1

@BrianV - bạn cần đảm bảo rằng bạn đang biên dịch với -ggdb nếu bạn muốn có thể đính kèm vào quy trình. – itfische

47

Trong Xcode 5.0.1 và 6 nó là trong

Debug > Attach to Process > By Process Identifier (PID) or Name... in Xcode 
+1

Trong Xcode 6 quá. – Kevin

83

Tôi sẽ để lại điều này ở đây vì không của 2 câu trả lời khác đã cho tôi khá đủ chi tiết mà không có một chút của một cuộc đấu tranh.

  1. Chạy ứng dụng trong mô phỏng và ghi tên trong navigator gỡ lỗi enter image description here

  2. Cắm thiết bị của bạn và đừng quên để chọn thiết bị của bạn là mục tiêu enter image description here

  3. Gỡ lỗi> Đính kèm quy trình> Bằng mã định danh quy trình (PID) hoặc tên enter image description here
  4. Nhập tên từ bước 1 và đính kèm. Đó là tất cả những gì bạn phải làm. enter image description here
+2

Bạn cần có 1000 phiếu bầu. Gỡ lỗi những thứ mà bắt đầu thông qua một chương trình url cutom có ​​thể là một nỗi đau trong ass mà không có thủ thuật gọn gàng này. Cảm ơn nhiều! – txulu

+0

Tôi ước gì tôi thấy câu trả lời này trước khi tôi dành 20 phút để tự mình tìm ra điều này: ( –

+4

Điều này hoạt động ở chỗ nó gắn với quy trình này, nhưng tôi không thể thấy được bất kỳ bản ghi nào là những gì tôi thực sự cần. – Orlando

5

Trong XCode 7 nó chỉ: Debug> Đính kèm để trình bởi PID hoặc Tên

Các vấn đề liên quan