[haiku-development] Re: kernel debugging for wpa_supplicant

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 02 Jun 2010 11:34:45 +0200

On 2010-05-31 at 08:14:24 [+0200], Alexander Botero-Lowry 
<alex.boterolowry@xxxxxxxxx> wrote:
>
> To be honest, I'm pretty out of my element at this point, but I figured
> I  would try to dig into the wifi stack where the copying is being done
> and see if I can at least localize where in the kernel it is failing. I
> read the KDL article which was pretty interesting, but didn't really
> cover if it's possible to set break points in the kernel using KDL,

It is possible to set breakpoints and watchpoints (max 3) in the kernel 
debugger via the "breakpoint" respectively "watchpoint" command (to get a 
listing of the installed ones use "breakpoints"). You have to provide 
addresses, though. Given a symbol name the "symbol" command prints its 
address. There's also a "step" command to step single machine instructions 
and "dis" can disassemble instructions. It's all way less comfortable than 
a real debugger.

> or
> as an alternative if there is a way to hook gdb on another host up to
> the kernel for doing debugging.

It is possible (or was last time I checked) to attach a gdb via serial line 
(execute the "gdb" KDL command), but it is extremely limited. Moreover even 
recent gdb versions aren't able to load a gcc 2 Haiku kernel compiled with 
debug info. The gcc 4 kernel works, though.

> I thought about doing printf debugging,
> but since I need a wifi device to test, the debug cycle would be pretty
> infuriating with all the reboots.

If you have two machines, booting via PXE helps to cut down the turn around 
times quite a bit. Though I don't really see why you need to reboot in the 
first place. Drivers and modules are reloaded live anyway.

CU, Ingo

Other related posts: