2011-12-30 36 views
8

Chương trình của tôi tiếp tục bị lỗi, nhưng logcat không hiển thị bất kỳ ngoại lệ nào. Tôi chỉ nhận được thông báo sau, cộng với rất nhiều số liệu thống kê về việc sử dụng CPU. Rõ ràng là tôi đang sử dụng quá nhiều CPU, nhưng tôi không biết phần nào của chương trình của tôi đang làm điều này. Tệp sau đây ở đâu? Tôi không thể tìm thấy nó.Cách tìm dấu vết ngăn xếp này?

12-30 23: 13: 06,639: INFO/dalvikvm (7688): Wrote stack trace để '/data/anr/traces.txt'

+0

'mèo/data/ANR/traces.txt' ... nên làm việc với Linux cuối cùng với android quá. .. – evotopid

Trả lời

10
adb shell 

->

cat /data/anr/traces.txt 

EDIT:

bạn cần có quyền truy cập root để sửa đổi các tập tin trong/data/bạn sẽ có thể để một ccess các tập tin với một ứng dụng như https://market.android.com/details?id=com.estrongs.android.pop

Khi bạn có ứng dụng đó, hãy mở nó -> Menu -> Cài đặt -> Home Directory (Thay đổi từ /sdcard/ thành /) -> Thoát ứng dụng -> Mở nó một lần nữa

sau đó, bạn sẽ có thể duyệt đến/data/ANR/*

EDIT2 (Bổ sung thông tin, dựa trên ý kiến) để sử dụng với một ứng dụng được xuất bản sau tay vào thử nghiệm:

  • Hầu hết các nhà phát triển dựa vào developer console error reporting để xem nhật ký ngăn xếp và nhật ký lỗi khi người dùng gửi báo cáo lỗi.

  • Khác impliment riêng mình hoặc sử dụng một thư viện như ACRA

Được cảnh báo một số người dùng không cài đặt một ứng dụng đơn giản chỉ vì nó sử dụng sự cho phép đọc dữ liệu nhật ký nhạy cảm.

+0

Tôi đang sử dụng Eclipse trong Windows. Tôi có thể tìm trong các tập tin trên thiết bị của tôi/giả lập nhưng traces.txt dường như không có bất cứ nơi nào. –

+0

Đã cập nhật câu trả lời của tôi. Bạn có thể sử dụng ứng dụng để truy cập tệp đó. – TryTryAgain

+0

Làm cách nào để bạn truy cập tệp này mà không có quyền truy cập root (chẳng hạn như điện thoại HTC cổ phần)? – Amplify91

2

ANR là viết tắt của "Android Not Responding" và điều đó không có nghĩa là bạn đang sử dụng quá nhiều CPU, điều đó có nghĩa là giao diện người dùng chính không được gọi trong một khoảng thời gian nhất định. Giao diện người dùng giao diện người dùng quan tâm đến đầu vào của người dùng, do đó, từ quan điểm của người dùng, ứng dụng không hồi đáp cho đầu vào. Thông thường, điều này là do thực hiện các hoạt động dài hạn hoặc chặn trên luồng giao diện người dùng chính. Ví dụ: tải xuống tệp trên chuỗi chính có thể gây ra ANR. Thông thường, thật dễ dàng để chọn ra mã gây ANR chỉ từ thông tin đó.

5

Để xem thoải mái mà không cần đầu cutted sử dụng tập tin sau lệnh một dòng:

adb shell "cat /data/anr/traces.txt" | less

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