pub struct DebugSymbols { /* private fields */ }Expand description
Provides support for debug symbols to BPXSD object.
Implementations§
Source§impl DebugSymbols
impl DebugSymbols
Sourcepub fn new() -> DebugSymbols
pub fn new() -> DebugSymbols
Creates a new DebugSymbols.
Sourcepub fn lookup(&self, hash: u64) -> Option<&str>
pub fn lookup(&self, hash: u64) -> Option<&str>
Performs a lookup for a given hash value in this symbol list. Returns None if the symbol does not exist.
§Arguments
hash: the hash for which to search the symbol name.
returns: Option<&str>
§Examples
use bpx::sd::DebugSymbols;
use bpx::utils::hash;
let symbols = DebugSymbols::new();
assert!(symbols.lookup(hash("Test")).is_none());Sourcepub fn write(&self, obj: &mut Object)
pub fn write(&self, obj: &mut Object)
Attach this symbol list to a BPXSD object.
§Arguments
obj: the object to attach debug information to.
§Examples
use bpx::sd::{DebugSymbols, Object};
use bpx::utils::hash;
let mut symbols = DebugSymbols::new();
symbols.push("Test");
assert!(symbols.lookup(hash("Test")).is_some());
let mut obj = Object::new();
symbols.write(&mut obj);
assert!(obj.get("__debug__").is_some());Sourcepub fn read(obj: &Object) -> Result<DebugSymbols>
pub fn read(obj: &Object) -> Result<DebugSymbols>
Attempts to read debug information from a BPXSD object.
§Arguments
obj: the object to read debug information from.
returns: Result<DebugSymbols, Error>
§Errors
An Error is returned in case the object does not provide debug information or if the debug information could not be read.
§Examples
use bpx::sd::{DebugSymbols, Object};
use bpx::utils::hash;
let mut symbols = DebugSymbols::new();
symbols.push("Test");
let mut obj = Object::new();
symbols.write(&mut obj);
let symbols1 = DebugSymbols::read(&obj).unwrap();
assert!(symbols1.lookup(hash("Test")).is_some());ⓘ
use bpx::sd::{DebugSymbols, Object};
let mut obj = Object::new();
DebugSymbols::read(&obj).unwrap();Trait Implementations§
Source§impl Clone for DebugSymbols
impl Clone for DebugSymbols
Source§fn clone(&self) -> DebugSymbols
fn clone(&self) -> DebugSymbols
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DebugSymbols
impl RefUnwindSafe for DebugSymbols
impl Send for DebugSymbols
impl Sync for DebugSymbols
impl Unpin for DebugSymbols
impl UnsafeUnpin for DebugSymbols
impl UnwindSafe for DebugSymbols
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more