pub trait DebugRuntime {
    // Required methods
    fn get_library(&self, id: LibraryId) -> Option<Library>;
    fn get_exeid(&self) -> Option<LibraryId>;
    fn get_library_segment(
        lib: &Library,
        seg: usize
    ) -> Option<AddrRange>;
    fn get_full_mapping(&self, lib: &Library) -> Option<ObjectHandle>;
    fn iterate_phdr(&self, f: &mut dyn FnMut(DlPhdrInfo) -> c_int) -> c_int;
Expand description

Functions for the debug support part of libstd (e.g. unwinding, backtracing).

Required Methods§


fn get_library(&self, id: LibraryId) -> Option<Library>

Gets a handle to a library given the ID.


fn get_exeid(&self) -> Option<LibraryId>

Returns the ID of the main executable, if there is one.


fn get_library_segment(&self, lib: &Library, seg: usize) -> Option<AddrRange>

Get a segment of a library, if the segment index exists. All segment IDs are indexes, so they range from [0, N).


fn get_full_mapping(&self, lib: &Library) -> Option<ObjectHandle>

Get the full mapping of the underlying library.


fn iterate_phdr(&self, f: &mut dyn FnMut(DlPhdrInfo) -> c_int) -> c_int

Handler for calls to the dl_iterate_phdr call.