2013-06-20 19 views
21

tôi đã chọn một số trong những thẻ theo dõi và khi tôi chạy trace (từ DDMS) tôi nhận được kết quả như sau:Android DDMS v22.0.1 không thể tạo ra một Systrace sử dụng Droid Razor 4.1.2

Unexpected error while collecting system trace. Unable to find trace start marker 'TRACE:': 
error opening /sys/kernel/debug/tracing/options/overwrite: 
No such file or directory (2) 

error openi (cắt đứt lỗi ở đây)

thực sự không có tệp gỡ lỗi trong thư mục hạt nhân, nhưng cơ chế nào sẽ tạo đường dẫn cần thiết?

+1

Bản sao của http://stackoverflow.com/questions/17207841/running-android-systrace-on-device? – fadden

+1

Bạn đã từng giải quyết vấn đề này chưa? Tôi đang gặp sự cố tương tự trên Nexus 10. –

+1

@jchristof Bạn đang chạy trên thiết bị hoặc trình mô phỏng vật lý? –

Trả lời

6

Dường như điện thoại di động của bạn đang chạy hình ảnh khởi động (hạt nhân) không hỗ trợ systrace.

"mở lỗi/sys/kernel/debug/truy tìm/options/ghi đè lên: Không có tập tin hoặc thư mục (2)"

nhắn

Lỗi này có nghĩa daemon adb (module adb chạy về phía thiết bị) có thể không tìm/sys/kernel/debug/truy tìm/tùy chọn/ghi đè lên hệ thống tệp của thiết bị của bạn. systrace hoạt động trên adb và giao tiếp với hạt nhân mặc dù các nút sysfs trong/sys/kernel/debug/tracing. Nếu các nút này không được hiển thị trên điện thoại của bạn vì bất kỳ lý do nào, systrace sẽ không hoạt động.

Vì vậy, đầu tiên bạn sẽ nhận được một vỏ trên điện thoại sử dụng:

adb shell

Sau đó duyệt để xác nhận nếu/sys tồn tại ở tất cả và nếu/sys/kernel/debug/tracing tồn tại.

Nếu chúng ở đó rất khó xảy ra, bạn phải gỡ lỗi systrace.py để tìm ra cách mà systrace nghĩ rằng các nút không có ở đó. Nếu không, bạn cần phải flash một image khởi động khác có hỗ trợ systrace, bởi vì sysfs được điều khiển bởi kernel (chủ yếu là bởi các cấu hình tại thời gian biên dịch) và init.rc, cả hai đều là một phần của image khởi động.

Nhấp nháy một hình ảnh khởi động khác có thể liên quan đến việc mở khóa/khởi động thiết bị. Bạn có thể phải truy cập các trang web của người hâm mộ như xdadeveloper để biết thông tin và hình ảnh. Một tùy chọn khác là tải xuống nguồn hạt nhân cho thiết bị của bạn, biên dịch hạt nhân và tự tạo ảnh khởi động. Linux là dưới GPL, do đó nhà sản xuất thiết bị của bạn có nghĩa vụ phải giải phóng mã nguồn của hạt nhân chuyên dụng mà họ sử dụng.

-NAM http://www.willpromo.com

+0

Chỉ cần xác nhận rằng tất cả các thư mục đều có .. Vẫn systrace có vấn đề để tạo báo cáo như được mô tả trong câu hỏi. Android M Preview 2 ở đây .. – Ewoks

1

Bạn có thể cần một chút thay đổi hình ảnh hạt nhân (boot.img). Công việc sau đây tìm tôi, chỉ để bạn tham khảo.

  1. mở Terminal và nhập: $adb shell
  2. (1) $su (2) $mount -t debugfs none /sys/kernel/debug. Bây giờ bạn sẽ có thể thấy nhiều thư mục trong/sys/kernel/debug /. (Bạn có thể cd vào/sys/kernel/debug để xác nhận điều này)
  3. Nhập: $dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img để tạo ảnh hạt nhân boot.img từ thiết bị của bạn.
  4. Sử dụng AndroidImageKitchen để giải nén tệp boot.img và tìm thư mục default.prop trong thư mục Ramdisk. Sau đó, thay đổi ro.debuggable=0 thành ro.debuggable=1. Repack boot.img và flash khởi động nó vào thiết bị của bạn.
  5. Khi thiết bị khởi động, dưới thiết bị đầu cuối, nhập: $adb root và thông báo như: $restarting adbd as root có thể bật lên. Ngắt kết nối USB và kết nối lại.
  6. cd vào thư mục systrace, e.g. ~/androidSDK/nền tảng-công cụ/systrace và sử dụng: python systrace.py --time=10 -o mynewtrace.html sched gfx view wm
  7. Bây giờ bạn có thể tạo tệp systrace của riêng bạn.