Dump registers on freebsd x86_64 (#779)
This commit is contained in:
parent
7aadf31246
commit
23e655d7dd
@ -154,8 +154,43 @@ pub fn dump_registers<W: Write>(
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Write the content of all important registers
|
||||||
|
#[cfg(all(target_os = "freebsd", target_arch = "x86_64"))]
|
||||||
|
#[allow(clippy::similar_names)]
|
||||||
|
pub fn dump_registers<W: Write>(
|
||||||
|
writer: &mut BufWriter<W>,
|
||||||
|
ucontext: &ucontext_t,
|
||||||
|
) -> Result<(), std::io::Error> {
|
||||||
|
let mcontext = &ucontext.uc_mcontext;
|
||||||
|
|
||||||
|
write!(writer, "r8 : {:#016x}, ", mcontext.mc_r8)?;
|
||||||
|
write!(writer, "r9 : {:#016x}, ", mcontext.mc_r9)?;
|
||||||
|
write!(writer, "r10 : {:#016x}, ", mcontext.mc_r10)?;
|
||||||
|
write!(writer, "r11 : {:#016x}, ", mcontext.mc_r11)?;
|
||||||
|
write!(writer, "r12 : {:#016x}, ", mcontext.mc_r12)?;
|
||||||
|
write!(writer, "r13 : {:#016x}, ", mcontext.mc_r13)?;
|
||||||
|
write!(writer, "r14 : {:#016x}, ", mcontext.mc_r14)?;
|
||||||
|
write!(writer, "r15 : {:#016x}, ", mcontext.mc_r15)?;
|
||||||
|
write!(writer, "rdi : {:#016x}, ", mcontext.mc_rdi)?;
|
||||||
|
write!(writer, "rsi : {:#016x}, ", mcontext.mc_rsi)?;
|
||||||
|
write!(writer, "rbp : {:#016x}, ", mcontext.mc_rbp)?;
|
||||||
|
write!(writer, "rbx : {:#016x}, ", mcontext.mc_rbx)?;
|
||||||
|
write!(writer, "rdx : {:#016x}, ", mcontext.mc_rdx)?;
|
||||||
|
write!(writer, "rax : {:#016x}, ", mcontext.mc_rax)?;
|
||||||
|
write!(writer, "rcx : {:#016x}, ", mcontext.mc_rcx)?;
|
||||||
|
write!(writer, "rsp : {:#016x}, ", mcontext.mc_rsp)?;
|
||||||
|
write!(writer, "rflags : {:#016x}, ", mcontext.mc_rflags)?;
|
||||||
|
write!(writer, "cs : {:#016x}, ", mcontext.mc_cs)?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(clippy::unnecessary_wraps)]
|
#[allow(clippy::unnecessary_wraps)]
|
||||||
#[cfg(not(any(target_vendor = "apple", target_os = "linux", target_os = "android")))]
|
#[cfg(not(any(
|
||||||
|
target_vendor = "apple",
|
||||||
|
target_os = "linux",
|
||||||
|
target_os = "android",
|
||||||
|
target_os = "freebsd"
|
||||||
|
)))]
|
||||||
fn dump_registers<W: Write>(
|
fn dump_registers<W: Write>(
|
||||||
writer: &mut BufWriter<W>,
|
writer: &mut BufWriter<W>,
|
||||||
_ucontext: &ucontext_t,
|
_ucontext: &ucontext_t,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user