Có một thời gian khó theo dõi sự cố trong ứng dụng iPad. Khó khăn thực sự bắt nguồn từ thực tế là không có lỗi hoặc ngăn xếp dấu vết hiện tại khi ứng dụng không thành công. Nó đơn giản biến mất như Keizer Soze, "Và như thế, poof. Anh ấy đã biến mất."Tai nạn iOS không có lỗi hoặc ngăn xếp dấu vết
Tôi đã sao chép sự cố trên cả trình mô phỏng và thiết bị. Không có nhật ký thiết bị nào, không có gì trong bảng điều khiển, v.v.
Tôi biết rằng trong khi xảy ra sự cố, một số hoạt động đang xảy ra trong chuỗi nền. Thông thường, ba hoặc hơn NSOperations đang đá của một số pha trộn hình ảnh.
Sự pha trộn bao gồm các cuộc gọi CGContext * (DrawImage, SetBlendMode, SetAlpha, v.v.). NSOperation gọi lại cho một đại biểu trong chủ đề chính để xử lý hình ảnh và đặt nó thành UIImage
, vì vậy nó không phải là một cuộc xung đột chủ đề giao diện người dùng chính, nhưng tôi không giảm giá bất cứ điều gì vào thời điểm này.
Có một số thủ thuật Xcode mà tôi thiếu để theo dõi chính xác những gì đang xảy ra không? Hoặc ít nhất có được một gợi ý tốt hơn về nơi mà vấn đề nằm?
EDIT Tôi đã chạy ứng dụng trong Bộ nhớ theo dõi sử dụng bộ nhớ và thấy rằng nó khá ổn định trên khoảng 2MB. Vì vậy, đừng nghĩ rằng đó là một vấn đề bộ nhớ. Nhưng sau khi xem xét, đá này ổn định 2MB có vẻ thấp bất thường. Có một cơ hội cụ không được chọn phân bổ CoreGraphics?
Tôi chưa bao giờ thực hiện bất kỳ phát triển iOS * nào, nhưng khi ứng dụng iOS bắt đầu gặp sự cố (và không để lại bất kỳ nhật ký nào), nó đã trở thành vấn đề bộ nhớ thấp: đóng tất cả ứng dụng và khởi động lại thiết bị đã xóa mọi thứ. – Ken
@Ken - đã thêm một chỉnh sửa liên quan đến bộ nhớ thấp. Cảm ơn. – MarkPowell
Đảm bảo bạn không chỉ chạy ứng dụng mà còn gỡ lỗi ứng dụng đó. Để xác minh, hãy chắc chắn Breakpoints đang bật. –