2013-04-08 18 views
6

Systrace công cụ Android gọi trong nội bộ một công cụ gọi là atrace đó là, gia hạn ftrace hoặc strace (công cụ Linux).Công cụ Android Systrace sử dụng nội bộ strace hoặc ftrace?

Nếu chúng ta kết nối thông qua giả lập giao diện điều khiển (ADB shell) để Android Jelly Bean chúng ta có thể thực hiện strace công cụ nhưng chúng tôi không có thể thực hiện ftrace công cụ (lệnh không được cài đặt).

Làm một số reseach qua Internet tôi thấy rằng strace là một tiền thân của ftrace: http://crtags.blogspot.de/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html

Nhìn Android Mã Nguồn, mức cao nhất "nội" tài liệu tham khảo mà tôi tìm thấy là vết .h tệp: http://androidxref.com/4.1.1/xref/frameworks/native/include/utils/Trace.h

Tôi nghĩ rằng tệp này sau đó được giải quyết cho trình điều khiển Linux gốc.

Tuy nhiên, tôi vẫn không thể biết liệu trình điều khiển triển khai này có thuộc về strace hoặc ftrace. "Thông thường", nó phải là ftrace vì nó mới hơn, nhưng trong trường hợp đó tôi không biết tại sao chúng tôi không thể chạy ftrace từ trình mô phỏng. Ngược lại, strace hoàn toàn có sẵn từ trình mô phỏng.

Sau đó, không ai biết nếu Systrace công cụ Android sử dụng tại rất thấp mức strace hoặc ftrace?

Cảm ơn bạn!

Trả lời

5

Tôi đã làm theo hướng dẫn tìm thấy ở đây, liên quan đến ftrace,: http://www.linuxforu.com/2010/11/kernel-tracing-with-ftrace-part-1/

Tất cả mọi thứ hoạt động hoàn hảo. Tôi đã không thể thực hiện ftrace trước đây vì việc tương tác và truy xuất dữ liệu được thực hiện thông qua các đường dẫn logic.

Để thực thi ftrace, sau khi định cấu hình chính xác (nhiều bước ...), Bên trong adb shell:

[email protected]:# cat /sys/kernel/debug/tracing/trace > mytracefile.txt 

atrace làm cho quá trình cấu hình dễ dàng hơn, vì vậy chúng tôi có thể truy cập để theo dõi thông tin theo cách sau:

[email protected]:# atrace -s -w -t 100 > mytracefile.txt 

Mặt khác, tôi đã tìm thấy thông tin về thực hiện strace tại đây: http://www.hokstad.com/5-simple-ways-to-troubleshoot-using-strace

Tất cả các ví dụ được chỉ định đã được thực hiện thành công trong môi trường của tôi ng adb shell.

Tương tác và quyền truy cập vào kết quả của cả hai công cụ rất khác nhau.

Bây giờ tôi có thể nói rằng Systrace công cụ Android có trụ sở tại atrace mà lần lượt có trụ sở tại ftrace.

strace cũng được hỗ trợ nhưng phục vụ cho các mục đích khác và không liên quan đến systrace.

Trân trọng,

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