2010-05-20 28 views
5

Gần đây tôi đã bắt đầu làm việc trên một ứng dụng có cả Java và thành phần gốc. Tôi đang cố gắng tạo thông tin theo dõi cho cả hai thành phần bằng cách sử dụng Debug.startMethodTracing("myapp")Debug.startNativeTracing() luân phiên. Tuy nhiên, cả hai đều hoạt động bất ngờ.Làm cách nào để sử dụng API startMethodTracing trên Android?

Khi tôi sử dụng Debug.startMethodTracing("myapp"), tôi có thể thấy một tệp /sdcard/myapp.trace được tạo nhưng nó luôn trống cho dù tôi chạy ứng dụng của mình bao lâu. Khi tôi sử dụng Debug.startNativeTracing() và khởi động trình giả lập với khóa chuyển đổi -trace <tracename>, tôi thấy thông báo cho biết "Đã bắt đầu theo dõi", nhưng khi tôi cố gắng chạy ứng dụng của mình, lỗi mô phỏng bị lỗi.

Tôi có thiếu điều gì đó hiển nhiên ở đây không? Làm thế nào để gỡ lỗi vấn đề này?

Trả lời

5

Khi tôi đã xảy ra với tôi, đó là vì tôi đã có cặp khởi động/dừng không khớp. Ví dụ: nếu bạn bắt đầu theo dõi phương pháp nhưng không bao giờ dừng lại, tôi nghĩ Android chỉ đơn giản là không bao giờ ghi thông tin theo dõi bộ đệm vào một tệp. Tương tự như vậy nếu bạn có thêm một điểm dừng ở giữa, hoặc không bao giờ bắt đầu, vv, bạn sẽ không nhận được kết quả mong muốn.

Khác với truy tìm phương pháp đó đã hoạt động tốt đối với tôi.

Theo dõi gốc, mặt khác, có vẻ không được hỗ trợ (vẫn), vì tôi gặp lỗi "Tệp theo dõi Qemu chưa được hỗ trợ" khi tôi cố tải kết quả theo dõi gốc vào traceview. (Bất kỳ bình luận về điều đó từ Google?)

  • Kris
+0

Quan trọng hơn, tôi nghĩ, là nếu bạn chỉ đơn giản là kết thúc() hoạt động của bạn trước khi gọi dừng, truy tìm sẽ không dừng lại và bạn sẽ không có được một tập tin hoàn chỉnh. –

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