pub struct Process {
pub pid: Pid,
pub debug_syms: bool,
pub perf_map: bool,
pub map_files: bool,
pub vdso: bool,
/* private fields */
}Expand description
Configuration for process based address symbolization.
This type is used in the Source::Process variant.
The corresponding addresses supplied to Symbolizer::symbolize are
expected to be absolute addresses
(Input::AbsAddr) as valid within the
process identified by the pid member.
§Notes
Please note that process symbolization is generally a privileged operation and may require the granting of additional capabilities compared to other symbolization sources.
Fields§
§pid: PidThe referenced process’ ID.
debug_syms: boolWhether or not to consult debug symbols to satisfy the request (if present).
On top of this runtime configuration, the crate needs to be
built with the dwarf feature to actually consult debug
symbols. If neither is satisfied, ELF symbols will be used.
perf_map: boolWhether to incorporate a process’ perf map file into the symbolization procedure.
Perf map files mostly have relevance in just-in-time compiled languages, where they provide an interface for the runtime to expose addresses of dynamic symbols to profiling tools.
map_files: boolWhether to work with /proc/<pid>/map_files/ entries or with
symbolic paths mentioned in /proc/<pid>/maps instead.
map_files usage is generally strongly encouraged, as symbolic
path usage is unlikely to work reliably in mount namespace
contexts or when files have been deleted from the file system.
However, by using symbolic paths the need for requiring the
SYS_ADMIN capability is eliminated.
vdso: boolWhether or not to symbolize addresses in a vDSO (virtual dynamic shared object).