4 个版本
| 0.1.3 | 2024年3月8日 |
|---|---|
| 0.1.2 | 2022年10月16日 |
| 0.1.1 | 2022年1月19日 |
| 0.1.0 | 2022年1月19日 |
#330 在 硬件支持
5KB
kernel-log-rs
Windows 内核驱动器的最小化日志记录器。
用法
#![no_std]
use kernel_log::KernelLogger;
#[no_mangle]
pub extern "system" fn DriverEntry(_: PDRIVER_OBJECT, _: u64) -> NTSTATUS {
KernelLogger::init(LevelFilter::Info).expect("Failed to initialize logger");
log::warn!("This is an example message.")
}
lib.rs:
实现了 print!、println! 和 dbg! 宏,以便可以在内核中不使用分配器使用它们。
默认情况下,宏以 kernel_ 前缀。如果您想删除前缀,可以启用 std_name 功能。
用法
就像使用标准库中的原始宏一样。
#![no_std]
// ...
kernel_dbg!(2 + 2);
kernel_print!("{} + {} = {}\n", 2, 2, 2 + 2);
kernel_println!("{} + {} = {}", 2, 2, 2 + 2);
功能
std_name:允许您使用不带kernel_前缀的宏。format:使用format!宏而不是core::fmt::Write特性来将传入的数据转换为字符串。此crate为使用DbgPrint函数进行日志记录提供了简单的包装。日志不会包含在最终的二进制文件中,这有助于加固逆向工程。
依赖关系
~0.7–1MB
~24K SLoC