How to get anything useful out of kgdb?

Andriy Gapon avg at FreeBSD.org
Thu Oct 1 21:57:51 UTC 2015


On 15/05/2015 22:20, Sean Bruno wrote:
> I'm guessing that we are just at the limit of what the intree kgdb is
> capable of doing with out crashdumps.

It's just that a userland process was running on a CPU when it got an NMI.

> #2  0xffffffff80e3657a in trap (frame=0xffffffff817eb910) at
> /home/sbruno/bsd/em_mq/sys/amd64/amd64/trap.c:188
> 188		         if (ipi_nmi_handler() == 0)
> (kgdb) p frame
> $5 = (struct trapframe *) 0xffffffff817eb910
> (kgdb) p *frame
> $6 = {tf_rdi = 34389196884, tf_rsi = 34389192960, tf_rdx = 0, tf_rcx =
> 360, tf_r8 = 0, tf_r9 = -8795456263872, tf_rax = 0, tf_rbx =
> 34393489408, tf_rbp = 140736951475936, tf_r10 = 17232, tf_r11 = 583,
> tf_r12 = 1882455366,
>   tf_r13 = 34389196880, tf_r14 = 0, tf_r15 = 6358856, tf_trapno = 19,
> tf_fs = 19, tf_gs = 27, tf_addr = 0, tf_flags = 1, tf_es = 59, tf_ds =
> 59, tf_err = 0, tf_rip = 34368395329, tf_cs = 67, tf_rflags = 518,
> tf_rsp = 140736951475912,
>   tf_ss = 59}
> (kgdb) p *frame->tf_rip
> Cannot access memory at address 0x800841841
> (kgdb) info line *frame->tf_rip
> No line number information available for address 0x800841841
> (kgdb)


-- 
Andriy Gapon


More information about the freebsd-hackers mailing list