2009-04-08 36 views
14

Tôi đang cố gắng phân tích ứng dụng iPhone bằng ứng dụng Rò rỉ và mọi thứ có vẻ hoạt động tốt, ngoại trừ khi tôi cố gắng xem thông tin chi tiết về rò rỉ bộ nhớ cụ thể. Rò rỉ dường như không tải mã nguồn của tôi. Nhìn vào khung nhìn ngăn xếp ở bên phải, tôi có thể thấy các cuộc gọi tham chiếu đến các khung công tác của iPhone, nhưng bất kỳ thứ gì đang tham chiếu đến mã nguồn mà tôi đã viết đều trống. Ảnh chụp màn hình bên dưới minh họa quan điểm của tôi. Các khối có màu xanh nhạt nên tham chiếu đến mã nguồn của tôi. Có ai từng gặp vấn đề này không? Có phải Rò rỉ không tìm thấy mã nguồn/biểu tượng của tôi chính xác không? Cảm ơn!Instrument Rò rỉ - Không hiển thị mã nguồn của tôi

EDIT: Tôi đang biên dịch ứng dụng bằng cách sử dụng 'Thiết bị - iPhone OS 2.2' với cấu hình Gỡ lỗi. Tôi khởi chạy Rò rỉ bằng cách chọn Run-> Start With Performance Tool-> Rò rỉ từ bên trong Xcode. Làm thế nào sẽ đi về 'làm cho các tập tin biểu tượng có sẵn' cho Rò rỉ?

alt text http://www.andrewgarrison.com/forum/leaks_nosource.png

Trả lời

2

Xóa mọi ký tự không phải ascii khỏi cả đĩa khởi động
và tên máy chủ (xem bảng Chia sẻ trong Tùy chọn hệ thống) và khởi động lại.

Ta da!

+0

Công việc này có hiệu quả không? Cả đĩa khởi động và tên máy chủ của tôi là những từ đơn lẻ chỉ có các ký tự ASCII - nhưng tôi cũng không thấy ký hiệu. –

+0

Điều này đã giúp tôi với các bản ghi sự cố kiểu 2.x. Đối với phong cách 3,0 tôi đã phải học một số perl và sửa chữa các kịch bản symbolicate. Có lẽ bây giờ là một phiên bản xác định. –

+0

Ý của bạn là "sửa mã script tượng trưng?" Tôi đang mắc kẹt trên cùng một vấn đề này mà không có ký tự không phải ascii ở một trong hai nơi. Dụng cụ * đã sử dụng * để làm việc cho tôi cho đến khi nâng cấp Snow Leopard của tôi ". – n8gray

1

Bạn biên dịch trong chế độ gỡ lỗi và làm cho các biểu tượng tập tin có sẵn?

+0

trình gỡ xuống, vui lòng để lại nhận xét. Cảm ơn. –

8

Tôi thấy điều này xảy ra, nhưng trên một cấu hình khác. Trong Snow Leopard 10.6.1, Xcode 3.2, Instruments 2.0, tôi đã không nhận được bất kỳ biểu tượng nào trong Rò rỉ khi chạy iPhone OS 3.0 trong trình mô phỏng. Tìm kiếm trong diễn đàn nhà phát triển iPhone của Apple tiết lộ rằng đây là một vấn đề được biết đến với iPhone 3.0 SDK (đã được làm việc trên), và việc chuyển đổi SDK hoạt động sang 3.1 là một giải pháp. Chắc chắn, nó làm việc cho tôi!

+1

Tôi đã gặp vấn đề tương tự và chuyển đổi tương tự SDK hoạt động sang iPhone 3.1 cũng làm việc cho tôi. Cảm ơn! – keremk

1

Nếu thư mục đích xây dựng của bạn bắt đầu bằng "." (ví dụ: tôi đang sử dụng ".xcode-build") thì các tệp .dsym sẽ không được tìm thấy. Đối với trường hợp của tôi, việc thay đổi thư mục xây dựng thành "xcode-build" đã khắc phục được sự cố và bây giờ tất cả các biểu tượng của ứng dụng của tôi hiển thị trong các dấu vết ngăn xếp!

1

Tôi đã gặp vấn đề tương tự. Hóa ra tôi đã thiết lập thư mục build thành/tmp/xcode. Thay đổi điều này trở lại mặc định là vấn đề. Điều này là với Xcode 3.2.3.

13

Đối với iOS 4.0 trở lên, cách để sửa chữa các biểu tượng và biến những địa chỉ bộ nhớ vô ích vào tên file đẹp, tên hàm và số dòng là như sau:

  1. Trong Xcode, vào Run -> Run với Công cụ hiệu suất và chọn công cụ của bạn
  2. Sau khi tải nhạc cụ, hãy nhấn nút Dừng để dừng quay. Chuyển đến Tệp -> Tài liệu biểu tượng lại.
  3. Trong cửa sổ mới, nhấp Đường dẫn và nhấp vào nút dấu cộng (+) để thêm đường dẫn mới. Điều hướng đến thư mục chứa tệp dự án của bạn và nhấp vào Mở. Nhấp vào Biểu tượng.
  4. Lợi nhuận!

Tôi đang tìm kiếm điều này trong một tháng trước khi tôi cuối cùng đã đưa ra giải pháp. Tôi hy vọng điều này sẽ giúp một số bạn!

+1

Điều này phù hợp với tôi! –

+1

Điều này làm việc cho tôi quá :) cảm ơn rất nhiều –

+1

Cảm ơn câu trả lời này, tôi không thể nhận được bất kỳ câu hỏi tương tự khác được đề xuất. Điều này làm việc hoàn hảo. –

2

Dự án Cài đặt>Chỉnh sửa dự án

Chọn gỡ lỗi mục tiêu

Bấm Xây dựng Tab

Hãy chắc chắn rằng Strip liên kết sản phẩm được đánh dấu

0

Tôi có Snow Leopard với Xcode 4.5.2 - Công cụ 4.5 Khi tôi đã đặt vị trí Gỡ lỗi mặc định thành Legacy, nó bắt đầu hiển thị

Đi tới Tệp ----> Cài đặt dự án ----> Nâng cao --- Chọn Di sản

Debug Location ---Legacy Settings

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