Remote kernel debugging question

Navdeep Parhar nparhar at gmail.com
Mon Jul 21 22:40:11 UTC 2014


On 07/21/14 15:35, Nidal Khalil wrote:
> The documentation states to put hint.uart.0.flags="0x90" in
> /boot/device.hits

Putting it in device.hints should have worked too.  In fact, that's
where uart(4) has it.  You haven't spelled it "hits" on your filesystem
like you did here, have you?

> However you hit on a good point. I see some parameters in
> boot/loader.conf. Can you please email this file
> I think that I need to do more configuration to this file. I will do it
> by comparison. Thanks

That's all there was in the file.

Regards,
Navdeep

> 
> Nidal
> 
> 
> On Mon, Jul 21, 2014 at 3:22 PM, Navdeep Parhar <nparhar at gmail.com
> <mailto:nparhar at gmail.com>> wrote:
> 
>     On 07/21/14 12:22, Nidal Khalil wrote:
>     > Hello All,
>     > I am somewhat new to BSD kernel but I am trying to debug a kernel
>     module
>     > using remote debugging.
>     > I am using 9.2 RELEASE.
>     > I setup and compiled the kernel with the following:
>     >
>     > makeoptions DEBUG=-g
>     > options          KDB
>     > options          KDB_TRACE
>     > options          DDB_CTF
>     > options          DDB
>     > options          GDB
>     > options          ALT_BREAK_TO_DEBUGGER
>     >
>     > I setup the uart for serial1 flags to 0x90 and I can read and
>     write to the
>     > serial from either machine
>     > Both machines have the same kernel booted.
>     > I can enter ddb but I can not launch gdb
>     > The remote GDB backend could not be selected.
>     > sysctl -a | grep debug.kdb
>     >
>     > debug.kdb.available: ddb
>     > Is that correct or it should be:
>     > debug.kdb.available: ddb gdb
> 
>     The latter.
> 
>     > How do I enable gdb backend. I appreciate the help.
> 
>     All this on a recent HEAD.  If your problem is 9.2 specific then this
>     may not help, but at least we can compare notes.  You did say you set
>     flags to 0x90 for your serial port but it's not clear how.  I have this
>     in /boot/loader.conf:
>     hint.uart.0.flags="0x90"
> 
>     When the system boots I see this right around when loader hands off to
>     the kernel.
> 
>     GDB: debug ports: uart
>     GDB: current port: uart
>     KDB: debugger backends: ddb gdb
>     KDB: current backend: ddb
>     Copyright (c) 1992-2014 The FreeBSD Project.
>     ...
> 
>     After the system boots I see both ddb and gdb in the available debug
>     backends and all is well.
> 
>     # sysctl debug.kdb.available
>     debug.kdb.available: ddb gdb
>     # sysctl debug.kdb.current
>     debug.kdb.current: ddb
>     # sysctl debug.kdb.current=gdb
>     debug.kdb.current: ddb -> gdb
>     # sysctl debug.kdb.current
>     debug.kdb.current: gdb
> 
>     Regards,
>     Navdeep
> 
> 



More information about the freebsd-hackers mailing list