Files
DragonOS/tools/debugging/logmonitor/src/command.rs
LoGin 7b32f5080f 增加内存分配日志监视器 (#424)
* 完成内存日志监视,并输出日志到文件
* 修复进程退出后,procfs查看进程status文件会崩溃的问题
* 修复signal唤醒进程的判断条件问题
2023-11-07 21:39:27 +08:00

33 lines
857 B
Rust

use std::path::PathBuf;
use clap::Parser;
#[derive(Debug, Parser, Clone)]
pub struct CommandLineArgs {
#[arg(short, long)]
/// The kernel ELF file to load.
pub kernel: PathBuf,
/// The kernel memory file to load.
#[arg(long, value_parser=kmem_file_parser, default_value = "/dev/shm/dragonos-qemu-shm.ram")]
pub kmem: String,
/// If set, the monitor will start the TUI.
#[arg(long, default_value = "false")]
pub tui: bool,
/// The directory to store the log files.
#[arg(long, default_value = "logs")]
pub log_dir: PathBuf,
}
/// 用于解析kmem参数的函数
fn kmem_file_parser(s: &str) -> Result<String, String> {
log::warn!("kmem_file_parser: {}", s);
if s.len() == 0 {
return Ok("/dev/shm/dragonos-qemu-shm.ram".to_string());
} else {
return Ok(s.to_string());
}
}