GoGPT Best VPN GoSearch

Biểu tượng yêu thích OnWorks

traceview - Trực tuyến trên đám mây

Chạy theo dõi trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là chế độ xem lệnh có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


traceview - một trình xem đồ họa cho các nhật ký thực thi được lưu bởi ứng dụng Android.

SYNOPSIS


dấu vết traceview [-r]

MÔ TẢ


Traceview là một trình xem đồ họa cho nhật ký thực thi mà bạn tạo bằng cách sử dụng Gỡ lỗi
lớp để ghi thông tin truy tìm trong mã của bạn. Traceview có thể giúp bạn gỡ lỗi
ứng dụng và hồ sơ hiệu suất của nó.

LỰA CHỌN


-r chỉ hồi quy

TRACEVIEW BỐ TRÍ


Khi bạn có tệp nhật ký theo dõi (được tạo bằng cách thêm mã truy tìm vào ứng dụng của bạn hoặc bằng cách
DDMS), bạn có thể yêu cầu Traceview tải các tệp nhật ký và hiển thị dữ liệu của chúng trong một cửa sổ
hình dung ứng dụng của bạn trong hai bảng:

Bảng dòng thời gian - mô tả thời điểm bắt đầu và dừng mỗi luồng và phương pháp.

Một bảng hồ sơ - cung cấp một bản tóm tắt về những gì đã xảy ra bên trong một phương pháp.

Các phần bên dưới cung cấp thông tin bổ sung về các ngăn đầu ra theo dõi.

Lịch Trình Sự Kiện Bảng điều khiển
Việc thực thi mỗi luồng được hiển thị trong hàng riêng của nó, với thời gian tăng dần về bên phải. Mỗi
phương pháp được hiển thị bằng một màu khác (các màu được sử dụng lại theo kiểu vòng tròn bắt đầu bằng
các phương pháp có nhiều thời gian nhất). Các đường mảnh bên dưới hàng đầu tiên
hiển thị mức độ (mục nhập để thoát) của tất cả các lệnh gọi đến phương thức đã chọn. Phương pháp trong
trường hợp này là LoadListener.bản địa đã hoàn thành () và nó đã được chọn trong chế độ xem hồ sơ.

Hồ Sơ Bảng điều khiển
Chế độ xem này hiển thị tóm tắt tất cả thời gian dành cho một phương pháp. Bảng cho thấy cả hai
thời gian bao gồm và không bao gồm (cũng như tỷ lệ phần trăm của tổng thời gian). Loại trừ
time là thời gian dành cho method. Thời gian toàn diện là thời gian dành cho phương pháp cộng
thời gian dành cho bất kỳ chức năng nào được gọi. Chúng tôi gọi các phương thức là "cha mẹ" và
được gọi là các phương thức là "con". Khi một phương thức được chọn (bằng cách nhấp vào nó), nó sẽ mở rộng thành
cho ba mẹ con xem. Cha mẹ được hiển thị với nền màu tím và con cái
với nền màu vàng. Cột cuối cùng trong bảng hiển thị số lượng lệnh gọi đến
phương thức cộng với số lần gọi đệ quy. Cột cuối cùng hiển thị số lượng cuộc gọi ra
trong tổng số cuộc gọi được thực hiện tới phương thức đó. Theo quan điểm này, chúng ta có thể thấy rằng đã có
14 cuộc gọi đến LoadListener.bản địa đã hoàn thành (); nhìn vào bảng dòng thời gian cho thấy rằng một trong những
những cuộc gọi đó diễn ra trong một thời gian dài bất thường.

TRACEVIEW FILE FORMAT


Theo dõi tạo ra hai phần đầu ra riêng biệt: một tệp dữ liệu, chứa dữ liệu theo dõi,
và một tệp khóa, cung cấp ánh xạ từ số nhận dạng nhị phân đến chuỗi và phương thức
những cái tên. Các tệp được nối khi quá trình truy tìm hoàn tất, thành một tệp .trace duy nhất.

Lưu ý: Phiên bản trước của Traceview không nối các tệp này cho bạn. nếu bạn
có khóa và tệp dữ liệu cũ mà bạn vẫn muốn theo dõi, bạn có thể nối chúng
bạn với cat mytrace.key mytrace.data> mytrace.trace.

Ngày Tập tin Định dạng
Tệp dữ liệu là tệp nhị phân, có cấu trúc như sau (tất cả các giá trị được lưu trữ trong ít endian
đặt hàng):

* Định dạng tệp:
* tiêu đề
* ghi 0
* ghi 1
* ...
*
* Định dạng tiêu đề:
* u4 ma thuật 0x574f4c53 ('CHẬM')
* phiên bản u2
* u2 bù đắp cho dữ liệu
* ngày / giờ bắt đầu u8 ở Mỹ
*
* Định dạng ghi:
* u1 ID chuỗi
* ID phương thức u4 | phương pháp hành động
* châu thổ thời gian u4 kể từ khi bắt đầu, ở Mỹ

Ứng dụng dự kiến ​​sẽ phân tích cú pháp tất cả các trường tiêu đề, sau đó tìm cách "bù đắp thành
dữ liệu "từ đầu tệp. Từ đó nó chỉ đọc các bản ghi 9 byte cho đến khi EOF là
đạt được.

u8 ngày / giờ bắt đầu tính bằng usec là đầu ra từ gettimeofday (). Nó chủ yếu ở đó để
bạn có thể biết liệu đầu ra đã được tạo ngày hôm qua hay ba tháng trước.

hành động của phương thức nằm trong hai bit ít quan trọng nhất của từ phương thức. Hiện tại
nghĩa được xác định là:

0 - mục nhập phương thức
1 - thoát phương thức
2 - phương thức "thoát" khi được giải phóng bằng cách xử lý ngoại lệ
3 - (dành riêng)

Một số nguyên 32 bit không dấu có thể chứa khoảng 70 phút thời gian tính bằng micro giây.

Key Tập tin Định dạng
Tệp khóa là một tệp văn bản thuần túy được chia thành ba phần. Mỗi phần bắt đầu bằng một
từ khóa bắt đầu bằng '*'. Nếu bạn thấy dấu '*' ở đầu dòng, bạn đã tìm thấy
bắt đầu một phần mới.

Một tệp ví dụ có thể trông như thế này:

*phiên bản
1
clock = toàn cầu
* chủ đề
1 chính
6 Trình xử lý JDWP
5 GC không đồng bộ
4 Trình xử lý tham chiếu
3 người hoàn thiện
2 Bộ xử lý tín hiệu
* phương pháp
0x080f23f8 java / io / PrintStream ghi ([BII) V
0x080f25d4 java / io / PrintStream print (Ljava / lang / String;) V
0x080f27f4 java / io / PrintStream println (Ljava / lang / String;) V
0x080da620 java / lang / RuntimeException () V
[...]
0x080f630c android / os / Debug startMethodTracing () V
0x080f6350 android / os / Debug startMethodTracing (Ljava / lang / String; Ljava / lang / String; I) V
*kết thúc

Danh sách sau đây mô tả các phần chính của tệp khóa:

phần phiên bản
Dòng đầu tiên là số phiên bản tệp, hiện tại là 1. Dòng thứ hai, clock = global,
chỉ ra rằng chúng tôi sử dụng một đồng hồ chung trên tất cả các chuỗi. Một phiên bản trong tương lai có thể sử dụng per-
luồng bộ đếm thời gian CPU độc lập cho mọi luồng.

phần chủ đề
Một dòng trên mỗi chủ đề. Mỗi dòng bao gồm hai phần: ID luồng, theo sau là
, theo sau là tên chủ đề. Có một số hạn chế đối với một chuỗi hợp lệ
tên là, vì vậy hãy bao gồm mọi thứ vào cuối dòng.

phần phương pháp
Một dòng cho mỗi lần nhập hoặc xuất phương thức. Một dòng bao gồm bốn phần, được phân tách bằng tab
mark: method-ID [TAB] class-name [TAB] method-name [TAB] signature. Chỉ các phương pháp
đã thực sự được nhập hoặc thoát đều được đưa vào danh sách. Lưu ý rằng cả ba
số nhận dạng được yêu cầu để xác định duy nhất một phương pháp.

Cả phần chủ đề và phương pháp đều không được sắp xếp.

SÁNG TẠO TRACE CÁC TẬP TIN


Để sử dụng Traceview, bạn cần tạo tệp nhật ký chứa thông tin theo dõi bạn muốn
để phân tích.

Có hai cách để tạo nhật ký theo dõi:

Bao gồm lớp Gỡ lỗi trong mã của bạn và gọi các phương thức của nó để bắt đầu và dừng ghi nhật ký
theo dõi thông tin vào đĩa. Phương pháp này rất chính xác vì bạn có thể chỉ định trong
mã chính xác nơi bắt đầu và dừng ghi dữ liệu theo dõi.

Sử dụng tính năng lập hồ sơ phương pháp của DDMS để tạo nhật ký theo dõi. Phương pháp này ít hơn
chính xác vì bạn không sửa đổi mã, mà chỉ định thời điểm bắt đầu và dừng
ghi nhật ký bằng DDMS. Mặc dù bạn có ít quyền kiểm soát hơn về vị trí chính xác của dữ liệu
đã đăng nhập, phương pháp này hữu ích nếu bạn không có quyền truy cập vào mã của ứng dụng hoặc
nếu bạn không cần độ chính xác của phương pháp đầu tiên.

Trước khi bạn bắt đầu tạo nhật ký theo dõi, hãy lưu ý các hạn chế sau:

Nếu bạn đang sử dụng lớp Gỡ lỗi, thiết bị hoặc trình mô phỏng của bạn phải có thẻ SD và
ứng dụng của bạn phải có quyền ghi vào thẻ SD.

Nếu bạn đang sử dụng DDMS, thiết bị Android 1.5 không được hỗ trợ.

Nếu bạn đang sử dụng DDMS, các thiết bị Android 2.1 trở về trước phải có thẻ SD
và ứng dụng của bạn phải có quyền ghi vào thẻ SD.

Nếu bạn đang sử dụng DDMS, các thiết bị Android 2.2 trở lên không cần thẻ SD. Các
các tệp nhật ký theo dõi được truyền trực tiếp đến máy phát triển của bạn.

Để tạo các tệp theo dõi, hãy bao gồm lớp Gỡ lỗi và gọi một trong các
startMethodTracing () các phương pháp. Trong cuộc gọi, bạn chỉ định tên cơ sở cho các tệp theo dõi
mà hệ thống tạo ra. Để ngừng theo dõi, hãy gọi stopMethodTracing (). Các phương pháp này bắt đầu
và dừng theo dõi phương pháp trên toàn bộ máy ảo. Ví dụ, bạn có thể gọi
startMethodTracing () trong hoạt động của bạn onCreate () phương pháp và cuộc gọi stopMethodTracing () in
hoạt động đó onDestroy () phương pháp.

// bắt đầu theo dõi tới "/sdcard/calc.trace"
Debug.startMethodTracing ("calc");
//...
// dừng theo dõi
Debug.stopMethodTracing ();

Khi ứng dụng của bạn gọi startMethodTracing (), hệ thống tạo một tệp có tên là
.dấu vết. Điều này chứa dữ liệu theo dõi phương pháp nhị phân và một bảng ánh xạ
với tên chủ đề và phương thức.

Sau đó, hệ thống bắt đầu lưu vào bộ đệm dữ liệu theo dõi đã tạo, cho đến khi ứng dụng của bạn gọi
stopMethodTracing (), tại thời điểm đó nó ghi dữ liệu được đệm vào tệp đầu ra. Nếu
hệ thống đạt đến kích thước bộ đệm tối đa trước khi stopMethodTracing () được gọi là, hệ thống
ngừng theo dõi và gửi thông báo đến bảng điều khiển.

Mã được thông dịch sẽ chạy chậm hơn khi bật cấu hình. Đừng cố gắng tạo ra
thời gian tuyệt đối từ kết quả của trình mô tả (tức là "hàm X mất 2.5 giây để chạy").
Thời gian chỉ hữu ích liên quan đến đầu ra hồ sơ khác, vì vậy bạn có thể xem nếu thay đổi
đã làm cho mã nhanh hơn hoặc chậm hơn.

Khi sử dụng trình giả lập Android, bạn phải chỉ định thẻ SD khi tạo AVD
bởi vì các tập tin theo dõi được ghi vào thẻ SD. Ứng dụng của bạn phải có quyền
để ghi vào thẻ SD.

SAO CHÉP TRACE CÁC TẬP TIN ĐẾN A HOST MÁY MÓC


Sau khi ứng dụng của bạn đã chạy và hệ thống đã tạo các tệp theo dõi của bạn
.trace trên thiết bị hoặc trình giả lập, bạn phải sao chép các tệp đó vào
máy tính phát triển. Bạn có thể sử dụng adb pull để sao chép các tệp. Đây là một ví dụ cho thấy
cách sao chép tệp ví dụ, calc.trace, từ vị trí mặc định trên trình giả lập sang
/ Tmp thư mục trên máy chủ giả lập:

kéo adb /sdcard/calc.trace / Tmp

BẢN QUYỀN


Trang hướng dẫn sử dụng này được cấp phép theo Giấy phép Apache, Phiên bản 2.0.

Bản quyền (C) 2013 Android Open Source Project

Bản quyền (C) 2013 Jakub Adam[email được bảo vệ]>

Sử dụng traceview trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.