Remote gdb broken in -CURRENT?

Greg 'groggy' Lehey grog at FreeBSD.org
Tue Nov 9 16:26:02 PST 2004


On Thursday,  4 November 2004 at 11:22:14 -0500, Alexandre Sunny Kovalenko wrote:
> On Wed, 2004-11-03 at 03:58, Greg 'groggy' Lehey wrote:
>> On Sunday, 31 October 2004 at 21:32:01 -0500, Stephan Uphoff wrote:
>>> On Sat, 2004-10-30 at 05:55, Greg 'groggy' Lehey wrote:
>>>> Is anybody currently using remote gdb kernel debugging in -CURRENT?  I
>>>> tried yesterday (embarrassingly, during my kernel debug tutorial), and
>>>> it looks as if things are broken.
>>>>
>>>> Specifically, I was doing it in conjunction with firewire.  The kernel
>>>> was built with 'options GDB', and it showed that the corresponding gdb
>>>> functions were included, but the sysctl debug.kdb.available shows only
>>>> ddb.  I did a bit of looking around for what might have caused it, but
>>>> wasn't successful.
>>>>
>>>> Any ideas?
>>>
>>> Link dcons directly into the kernel.
>>
>> That's not the problem.  dcons works fine.  As I said, it's gdb, not
>> firewire.
>>
>>> ( Does not work as a module. I also link in firewire and
>>> dcons_crom).
>>
>> I don't know what your problem is, but it's a different one.  I'll be
>> home on Monday and will be able to pay more attention to the issue.
>
> I would side with previous poster -- in my experience, if you have
> machine with no serial ports, you would have to build firewire and dcons
> into kernel in order to have GDB listed as output of sysctl
> debug.kdb.available (and consequently to use remote debugger ;). Prior
> to doing that, I would see message during the boot saying something to
> the tune of "No ports available for remote debugging".

OK, but this would be a serious bug.

> This was true as of few month ago -- since then I have built
> firewire/dcons/dcons_crom into the kernel and I've tried it before
> writing this E-mail on -current as of 10/31 and it seems to work just
> fine.

Further information: yes, we can get the sysctl to list gdb as well if
we set bit 0x80 on one of the serial port flags (even on machines
without serial ports :-).  That doesn't help firewire users, though:
there's still no way to get it to work over firewire.

Summarizing the messages, it seems that some recent change in -CURRENT
has broken the recognition of potential remote debugging interfaces.
Possibly they only relate to the interfaces which exist at boot time.
If this is true, then I'd expect that it would work if we load dcons
from loader.conf.  I'll take a look at this when I get time, but that
may not be for a while.

Greg
--
See complete headers for address and phone numbers.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20041110/5f718ca7/attachment.bin


More information about the freebsd-current mailing list