Date: Sat, 21 Feb 2009 11:06:21 -0800 From: "Peter Craft" <craft@alacritech.com> To: <freebsd-questions@freebsd.org> Subject: Re: KGDB connection failure - Please help, I'm desparate! (=> or desperate) Message-ID: <071201c99457$7c1eaae0$510a010a@alacritech.com>
next in thread | raw e-mail | index | archive | help
First off - Make that "desperate". Sorry. Second, an update.. I've modified remote.c in gdb to print the data coming across the serial line. When I boot with -d and enter "gdb" followed by "s", = absolutely nothing comes across the serial line - readchar times out every time. If I then reboot without -d (with the same modified gdb running) and set = console=3Dcomconsole I see all of the expected console characters read by readchar. So it appears that the gdb stub on the target isn't outputing any data = to the serial line whatsoever. Again, I have KDB, DDB, and GDB set in the configuration file and the sio flags set to 0x90 (I've tried 0xc0 as = well) in the loader.conf file. Furthermore, when I boot with -d I see the message: GDB: Current port: sio Can anyone think of a reason why the target isn't outputting debug = packets to the serial port? Can anyone suggest a method to debug a debugger? Thanks ----- Original Message -----=20 From: Peter Craft=20 To: freebsd-questions@freebsd.org=20 Sent: Friday, February 20, 2009 3:28 PM Subject: KGDB connection failure - Please help, I'm desparate! I've been trying for three days to get KGDB to work. I've followed the instructions here: = http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kern= eldebug-online-gdb.html and here: http://www.lemis.com/grog/Papers/Debug-tutorial/tutorial.pdf without success. Specifically, I've rebuilt my kernel with: makeoptions DEBUG=3D-g # Build kernel with gdb(1) = debug symbols .. options KDB options DDB options GDB My "boot.config" file contains -P and my /boot/loader.conf file = contains: hint.sio.0.flags=3D"0x90" When I issue the "boot -d" on the target, the system breaks in to the = "db" prompt as expected, at which point I enter "gdb" followed by "s". All of = which seems to work perfectly. On the debugger side I enter kgdb with "kgdb -r /dev/cuad0 -v = kernel.debug" from the build directory and I get: Ignoring packet error, continuing... Ignoring packet error, continuing... Ignoring packet error, continuing... Couldn't establish connection to remote target Malformed response to offset query, timeout If I boot the remote system with "set console=3Dcomconsole", I'm able = to communicate across the serial line as a console, so I believe that the serial = ports and cable are functioning properly. I just can't get gdb to connect. Can anyone offer any suggestion on what to try next? Or tips on how = to go about debugging the problem? This is with FreeBSD 7.1. Thanks in advance, Pete
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?071201c99457$7c1eaae0$510a010a>