DTrace là một khung theo dõi động cho phép quản trị viên hoặc nhà phát triển có được cái nhìn thời gian thực về hệ thống ở chế độ người dùng hoặc kernel. DTrace có ngôn ngữ lập trình mạnh mẽ và cấp độ C cho phép bạn chèn các điểm theo dõi một cách linh hoạt. Bằng cách sử dụng các điểm theo dõi được chèn động này, bạn có thể lọc các điều kiện hoặc lỗi, viết mã để phân tích các mẫu khóa, phát hiện các khóa chết, v.v.
Trên Windows, DTrace mở rộng tính năng Theo dõi sự kiện cho Windows (ETW) ở dạng tĩnh và không cung cấp khả năng chèn các điểm theo dõi theo chương trình trong thời gian chạy.
Tất cả các API và chức năng được dtrace.sys sử dụng đều là các lệnh gọi được ghi lại.
Microsoft đã triển khai một trình điều khiển đặc biệt cho Windows 10, cho phép thực hiện một số vai trò giám sát hệ thống. Trình điều khiển sẽ được bao gồm trong Windows 10 phiên bản 1903. Ngoài ra, DTrace hiện yêu cầu Windows phải khởi động với trình gỡ lỗi kernel được bật.
Mã nguồn của công cụ DTrace được chuyển có sẵn trên GitHub. Truy cập trang DTrace trên Windowstrong dự án OpenDTrace trên GitHub để xem nó.
Nội dung trốn Thiết lập DTrace trong Windows 10 Sử dụng DTraceThiết lập DTrace trong Windows 10
Điều kiện tiên quyết để sử dụng tính năng
- Người trong cuộc Windows 10xây dựng 18342hoặc cao hơn
- Chỉ có sẵn trênx64Windows và chỉ ghi lại thông tin theo dõi cho các quy trình 64-bit Chương trình nội bộ Windows làđã bậtVàđược cấu hìnhvới Tài khoản nội bộ Windows hợp lệ
- Truy cập Cài đặt->Cập nhật & Bảo mật->Chương trình Người dùng nội bộ Windows để biết chi tiết
Hướng dẫn:
- Bộ cấu hình BCD:
- bcdedit /bật dtrace
- Lưu ý, bạn cần đặt lại tùy chọn bcdedit nếu nâng cấp lên bản Insider mới
- Việc này sẽ cài đặt các thành phần chế độ người dùng, trình điều khiển và các gói tính năng bổ sung theo yêu cầu cần thiết để DTrace hoạt động.
- Tùy chọn: Cập nhậtBiến môi trường PATHbao gồmC:Tệp chương trìnhDTrace
- đặt PATH=%PATH%;'C:Program FilesDTrace'
- Cài đặtđường dẫn biểu tượng
- Tạo một thư mục mới để lưu các ký hiệu vào bộ nhớ đệm cục bộ. Ví dụ: mkdir c:symbols
- Bộ_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace tự động tải xuống các ký hiệu cần thiết từ máy chủ ký hiệu và lưu vào đường dẫn cục bộ.
Không bắt buộc:Thiết lập trình gỡ lỗi hạt nhânkết nối với máy mục tiêu ( liên kết MSDN). Đây làchỉ mộtbắt buộc nếu bạn muốn theo dõi các sự kiện Kernel bằng FBT hoặc các nhà cung cấp khác. - Lưu ý rằng bạn sẽ cần tắt Secureboot và Bitlocker trên C:, (nếu được bật), nếu bạn muốn thiết lập trình gỡ lỗi kernel.
Sử dụng DTrace
- Mở một dấu nhắc lệnh nâng cao .
- Thực hiện một trong các lệnh sau:|_+_|
Lệnhdtrace -lvn syscall:::sẽ liệt kê tất cả các đầu dò và thông số của chúng có sẵn từ nhà cung cấp syscall.
Sau đây là một số nhà cung cấp có sẵn trên Windows và công cụ của họ.
- syscall – Hệ thống NTOS gọi fbt (Theo dõi ranh giới chức năng) – Mục nhập và trả về chức năng hạt nhânpid – Theo dõi quá trình ở chế độ người dùng. Giống như FBT chế độ hạt nhân, nhưng cũng cho phép thiết bị đo lường các chức năng tùy ý offsets.etw (Theo dõi sự kiện cho Windows) – Cho phép xác định thăm dò cho ETW. Nhà cung cấp này giúp tận dụng thiết bị đo lường hệ điều hành hiện có trong DTrace.
- Đây là một bổ sung mà chúng tôi đã thực hiện cho DTrace để cho phép nó hiển thị và lấy tất cả thông tin mà Windows đã cung cấp trong đó. S.T.W.
Bạn có thể tìm thấy nhiều tập lệnh mẫu hơn áp dụng cho các kịch bản Windows trong phần này thư mục mẫu.
Nguồn: Microsoft