in src/main.rs [21:138]
fn cli() -> Command {
Command::new("dump_syms")
.version(crate_version!())
.author(crate_authors!("\n"))
.about("Dump debug symbols to breakpad symbols")
.arg(
Arg::new("filenames")
.help("Files to dump (.dll, .exe, .pdb, .pd_, .so, .dbg)")
.required(true)
.num_args(1..)
)
.arg(
Arg::new("output")
.help("Output file or - for stdout")
.short('o')
.long("output")
)
.arg(
Arg::new("store")
.help("Store output file as FILENAME.pdb/DEBUG_ID/FILENAME.sym in the given directory")
.short('s')
.long("store")
)
.arg(
Arg::new("debug_id")
.help("Get the pdb file passed as argument from the cache or from symbol server using the debug id")
.long("debug-id")
)
.arg(
Arg::new("code_id")
.help("Get the dll/exe file passed as argument from the cache or from symbol server using the code id")
.long("code-id")
)
.arg(
Arg::new("symbol_server")
.help("Symbol Server configuration\n(e.g. \"SRV*c:\\symcache\\*https://symbols.mozilla.org/\")\nIt can be in file $HOME/.dump_syms/config too.")
.long("symbol-server")
)
.arg(
Arg::new("check_cfi")
.help("Fail if there are no CFI data")
.long("check-cfi")
.action(ArgAction::SetTrue)
)
.arg(
Arg::new("verbose")
.help("Set the level of verbosity (off, error (default), warn, info, debug, trace)")
.long("verbose")
.default_value("error")
)
.arg(
Arg::new("arch")
.help("Set the architecture to select in fat binaries")
.short('a')
.long("arch")
.default_value(common::get_compile_time_arch())
)
.arg(
Arg::new("type")
.help("Ignored, listed for compatibility only")
.short('t')
.long("type")
.default_value("")
).arg(
Arg::new("list_arch")
.help("List the architectures present in the fat binaries")
.long("list-arch")
.action(ArgAction::SetTrue)
)
.arg(
Arg::new("num_jobs")
.help("Number of jobs")
.short('j')
.value_name("NUMBER")
.default_value("")
)
.arg(
Arg::new("mapping_var")
.help("A pair var=value such as rev=123abcd")
.long("mapping-var")
.action(ArgAction::Append)
)
.arg(
Arg::new("mapping_src")
.help("Regex to match a path with capturing groups")
.long("mapping-src")
.action(ArgAction::Append)
)
.arg(
Arg::new("mapping_dest")
.help(r#"A replacement string using groups, variables (set with --mapping-var), special variable like DIGEST or digest.
For example with --mapping-var="rev=123abc" --mapping-src="/foo/bar/(.*)" --mapping-dest="https://my.source.org/{rev}/{digest}/{1}" a path like "/foo/bar/myfile.cpp" will be transformed into "https://my.source.org/123abc/sha512_of_myfile.cpp/myfile.cpp"
"#)
.long("mapping-dest")
.action(ArgAction::Append)
)
.arg(
Arg::new("mapping_file")
.help("A json file containing mapping")
.long("mapping-file")
)
.arg(
Arg::new("inlines")
.help("Whether to emit INLINE and INLINE_ORIGIN directives")
.long("inlines")
.action(ArgAction::SetTrue)
)
.arg(Arg::new("extra_info")
.help("Add an INFO line with the value passed to this argument")
.long("extra-info")
.action(ArgAction::Append)
)
.arg(Arg::new("no-generator")
.help("Do not emit an INFO GENERATOR line holding the name and version of the dump_syms tool")
.long("no-generator")
.action(ArgAction::SetTrue)
)
}