GoGPT Best VPN GoSearch

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

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

Chạy thăm dò hiệu suất trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên 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à lệnh perf-thăm dò có thể 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, chẳng hạn như 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

CHƯƠNG TRÌNH:

TÊN


perf-probe - Xác định các điểm theo dõi động mới

SYNOPSIS


perf thăm dò [tùy chọn] --add =PROBE [...]
or
perf thăm dò [tùy chọn] PROBE
or
perf thăm dò [tùy chọn] --del =[NHÓM:] SỰ KIỆN [...]
or
perf thăm dò --list [= [GROUP:] EVENT]
or
perf thăm dò [tùy chọn] --line =ĐƯỜNG DÂY
or
perf thăm dò [tùy chọn] --vars =VẤN ĐỀ
or
perf thăm dò [tùy chọn] --funcs

MÔ TẢ


Lệnh này xác định các sự kiện điểm theo dõi động, bằng ký hiệu và đăng ký mà không cần debuginfo,
hoặc bằng biểu thức C (số dòng C, tên hàm C và biến cục bộ C) với
debuginfo.

LỰA CHỌN


-k, --vmlinux = PATH
Chỉ định đường dẫn vmlinux có debuginfo (nhị phân Dwarf).

-m, --module = MODNAME | PATH
Chỉ định tên mô-đun trong đó perf-probe tìm kiếm các điểm hoặc đường của đầu dò. Nếu một con đường của
tệp mô-đun được chuyển, perf-probe coi nó như một mô-đun ngoại tuyến (điều này có nghĩa là bạn có thể
thêm một đầu dò trên một mô-đun chưa được tải).

-s, --source = PATH
Chỉ định đường dẫn đến nguồn hạt nhân.

-v, --verbose
Chi tiết hơn (hiển thị các đối số được phân tích cú pháp, v.v.). Không thể sử dụng với -q.

-q, --quiet
Im lặng (không hiển thị bất kỳ thông báo nào kể cả lỗi). Không thể sử dụng với -v.

-a, --add =
Xác định sự kiện thăm dò (xem PROBE SYNTAX để biết thêm chi tiết).

-d, --del =
Xóa các sự kiện thăm dò. Điều này chấp nhận các ký tự đại diện hình cầu (*, ?) và các lớp ký tự (ví dụ:
[az], [! AZ]).

-l, --list [= [GROUP:] EVENT]
Liệt kê các sự kiện thăm dò hiện tại. Điều này cũng có thể chấp nhận các mẫu lọc tên sự kiện.

-L, - dòng =
Hiển thị các dòng mã nguồn có thể được thăm dò. Điều này cần một đối số chỉ định một
phạm vi của mã nguồn. (xem LINE SYNTAX để biết thêm chi tiết)

-V, --vars =
Hiển thị các biến cục bộ có sẵn tại điểm thăm dò đã cho. Cú pháp đối số giống như
PROBE SYNTAX, nhưng KHÔNG CÓ ARG.

--bên ngoài
(Chỉ dành cho --vars) Hiển thị các biến được xác định bên ngoài cùng với các biến cục bộ.

--không có nội tuyến
(Chỉ dành cho --add) Chỉ tìm kiếm các hàm không nội tuyến. Các chức năng không
có các trường hợp bị bỏ qua.

-F, --funcs [= FILTER]
Hiển thị các chức năng có sẵn trong mô-đun hoặc hạt nhân nhất định. Với -x / - executive, cũng có thể liệt kê
các chức năng trong thư viện thực thi / chia sẻ không gian người dùng. Điều này cũng có thể chấp nhận một BỘ LỌC
đối số quy tắc.

--filter = LỌC
(Chỉ dành cho --vars và --funcs) Đặt bộ lọc. FILTER là sự kết hợp của mô hình hình cầu, hãy xem
MẪU BỘ LỌC để biết chi tiết. FILTER mặc định là "!k ??? tab_ * & !crc_ * "cho --vars và
"! _ *" cho --funcs. Nếu một số bộ lọc được chỉ định, chỉ bộ lọc cuối cùng được sử dụng.

-f, - lực lượng
Buộc thêm các sự kiện với tên hiện có.

-n, - chạy thử
Chạy khô. Với tùy chọn này, --add và --del không thực hiện thêm và xóa thực tế
hoạt động.

--max-thăm dò = NUM
Đặt số điểm thăm dò tối đa cho một sự kiện. Mặc định là 128.

-x, --exec = PATH
Chỉ định đường dẫn đến tệp thư viện thực thi hoặc được chia sẻ để theo dõi không gian người dùng. Cũng có thể
được sử dụng với tùy chọn --funcs.

- hình tam giác
Gỡ bỏ các ký hiệu ứng dụng. --no-demangle cũng có sẵn để tắt
gỡ rối.

--demangle-kernel
Gỡ bỏ các ký hiệu hạt nhân. --no-demangle-kernel cũng có sẵn để tắt kernel
gỡ rối.

Trong trường hợp không có các tùy chọn -m / -x, thăm dò perf sẽ kiểm tra xem đối số đầu tiên sau các tùy chọn có phải là
một tên đường dẫn tuyệt đối. Nếu nó là một đường dẫn tuyệt đối, thì perf thăm dò sẽ sử dụng nó làm mục tiêu
mô-đun / mục tiêu không gian nhị phân người dùng để thăm dò.

PROBE TỔNG HỢP


Các điểm thăm dò được xác định theo cú pháp sau.

1) Xác định sự kiện dựa trên tên hàm
[EVENT =] FUNC [@SRC] [: RLN | + OFFS |% return |; PTN] [ARG ...]

2) Xác định sự kiện dựa trên tệp nguồn với số dòng
[EVENT =] SRC: ALN [ARG ...]

3) Xác định sự kiện dựa trên tệp nguồn với mô hình lười biếng
[EVENT =] SRC; PTN [ARG ...]

TRƯỜNG chỉ định tên của sự kiện mới, nếu bỏ qua, nó sẽ được đặt tên của sự kiện được thăm dò
chức năng. Hiện tại, tên nhóm sự kiện được đặt là thăm dò. FUNC chỉ định một chức năng được thăm dò
tên, và nó có thể có một trong các tùy chọn sau; + TẮT là phần bù từ hàm
địa chỉ nhập tính bằng byte, : RLN là số dòng tương đối từ dòng nhập hàm và
%trở lại có nghĩa là nó thăm dò trả về chức năng. Và ; PTN có nghĩa là mô hình kết hợp lười biếng (xem
TRẬN ĐẤU LAZY). Lưu ý rằng ; PTN phải là điểm cuối của định nghĩa điểm thăm dò. Ngoài,
@SRC chỉ định một tệp nguồn có chức năng đó. Cũng có thể chỉ định một
thăm dò điểm theo số dòng nguồn hoặc kết hợp lười biếng bằng cách sử dụng SRC: ALN or SRC; PTN cú pháp,
Ở đâu SRC là đường dẫn tệp nguồn, : ALN là số dòng và ; PTN là sự kết hợp lười biếng
mô hình. ARG chỉ định các đối số của điểm thăm dò này, (xem PROBE ARGUMENT).

PROBE LUẬN


Mỗi đối số thăm dò tuân theo cú pháp bên dưới.

[NAME =] LOCALVAR | $ retval |% REG | @SYMBOL [: TYPE]

TÊN chỉ định tên của đối số này (tùy chọn). Bạn có thể sử dụng tên của địa phương
biến, thành viên cấu trúc dữ liệu cục bộ (ví dụ: var → field, var.field2), mảng cục bộ với cố định
chỉ mục (ví dụ: mảng [1], var → array [0], var → pointer [2]) hoặc định dạng đối số kprobe-tracer
(ví dụ: $ retval,% ax, v.v.). Lưu ý rằng tên của đối số này sẽ được đặt là tên cuối cùng
tên thành viên nếu bạn chỉ định một thành viên cấu trúc dữ liệu cục bộ (ví dụ: trường2 cho
var → field1.field2.) $ vars$ params các đối số đặc biệt cũng có sẵn cho NAME, $ vars
được mở rộng thành các biến cục bộ (bao gồm các tham số hàm) có thể truy cập tại
điểm thăm dò đã cho. $ params được mở rộng thành chỉ các tham số chức năng. LOẠI đúc
loại đối số này (tùy chọn). Nếu bị bỏ qua, đầu dò perf sẽ tự động đặt loại dựa trên
trên debuginfo. Bạn có thể chỉ định chuỗi chỉ nhập cho biến cục bộ hoặc thành viên cấu trúc
là một mảng hoặc một con trỏ tới xe tăng or unsigned xe tăng kiểu.

Trên hệ thống x86,% REG luôn là dạng rút gọn của thanh ghi: ví dụ% AX. % RAX hoặc
% EAX không hợp lệ.

ĐƯỜNG DÂY TỔNG HỢP


Dải dòng được mô tả bằng cú pháp sau.

"FUNC [@SRC] [: RLN [+ NUM | -RLN2]] | SRC [: ALN [+ NUM | -ALN2]]"

FUNC chỉ định tên chức năng của các dòng hiển thị. RLN là số dòng bắt đầu từ
dòng nhập hàm, và RLN2 là số dòng cuối. Giống như cú pháp thăm dò, SRC có nghĩa
đường dẫn tệp nguồn, ALN là số dòng bắt đầu và ALN2 là số dòng cuối trong tệp.
Cũng có thể chỉ định bao nhiêu dòng để hiển thị bằng cách sử dụng NUM. Hơn nữa, FUNC @ SRC
kết hợp rất tốt cho việc tìm kiếm một chức năng cụ thể khi một số chức năng chia sẻ cùng một
Tên. Vì vậy, "source.c: 100-120" hiển thị các dòng từ thứ 100 đến thứ 20 trong tệp source.c. Và
"func: 10 + 20" hiển thị 20 dòng từ dòng thứ 10 của hàm func.

LAZY TRẬN ĐẤU


Đối sánh đường lười tương tự như đối sánh toàn cầu nhưng bỏ qua khoảng trắng trong cả mẫu và mục tiêu. Vì vậy, điều này chấp nhận các ký tự đại diện ('*', '?') Và các lớp ký tự (ví dụ: [az], [! AZ]).

ví dụ a = * có thể phù hợp a = b, a = b, a == b và như vậy.

Điều này cung cấp một số loại linh hoạt và mạnh mẽ để thăm dò các định nghĩa điểm chống lại
thay đổi mã nhỏ. Ví dụ: dòng thứ 10 thực tế của lịch biểu () có thể được di chuyển dễ dàng bằng
sửa đổi lịch biểu (), nhưng đối sánh cùng một dòng rq = cpu_rq * có thể vẫn tồn tại trong
hàm số.)

LỌC MẪU


Mẫu bộ lọc là (các) mẫu đối sánh toàn cầu để lọc các biến.
Ngoài ra, bạn có thể sử dụng "!" để chỉ định quy tắc lọc ra. Bạn cũng có thể đưa ra một số quy tắc kết hợp với "&" hoặc "|" và gấp các quy tắc đó thành một quy tắc bằng cách sử dụng "(" ")".

ví dụ: Với --filter "foo * | bar *", perf probe -V hiển thị các biến bắt đầu bằng "foo" hoặc
"quán ba". Với --filter "! Foo * & * bar", perf probe -V hiển thị các biến không bắt đầu bằng
"foo" và kết thúc bằng "bar", như "fizzbar". Nhưng "foobar" đã bị lọc ra.

VÍ DỤ


Hiển thị những dòng nào trong lịch biểu () có thể được thăm dò:

./perf thăm dò - lịch trình trực tuyến

Thêm một thăm dò trên hàm lịch biểu () dòng thứ 12 với ghi biến cục bộ cpu:

./perf lịch thăm dò: 12 cpu
or
./perf thăm dò --add = 'lịch trình: 12 cpu'

điều này sẽ thêm một hoặc nhiều đầu dò có tên bắt đầu bằng "lịch trình".

Thêm đầu dò trên các dòng trong hàm lịch trình () gọi update_rq_clock ().

./perf thăm dò lịch trình; update_rq_clock * '
or
./perf thăm dò --add = 'lịch trình; update_rq_clock *'

Xóa tất cả các đầu dò theo lịch trình ().

./perf thăm dò --del = 'lịch trình *'

Thêm đầu dò tại hàm zfree () trên / bin / zsh

./perf probe -x / bin / zsh zfree hoặc ./perf probe / bin / zsh zfree

Thêm đầu dò tại hàm malloc () trên libc

./perf thăm dò -x /lib/libc.so.6 malloc hoặc ./perf thăm dò /lib/libc.so.6 malloc

Sử dụng perf-probe 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í.