debugging kernel options

Karol Kwiatkowski freebsd at orchid.homeunix.org
Sat Dec 30 10:52:24 PST 2006


Robert Watson wrote:
> 
> On Sat, 30 Dec 2006, Karol Kwiatkowski wrote:
> 
>> Robert Watson wrote:
>>>> P.S. out of curiosity - now that I have configured kernel with DDB and
>>>> KDB options, is there any performance penalty of running such kernel?
>>>
>>> No, it shouldn't really have any effect on performance.  The one
>>> thing to watch out for is that your system will no longer reboot
>>> automatically on a panic, as it will drop to the debugger, by
>>> default.  You can change this by setting debug.debugger_on_panic to
>>> 0, in which case you will likely want to set debug.trace_on_panic to
>>> 1 so it prints a stack trace before rebooting (which is often
>>> sufficient, combined with the trap frame and panic message to debug
>>> the problem).
>>>
>>> Right now these are sysctls, not tunables, but you can change the
>>> default using options KDB_UNATTENDED (which flips the default to not
>>> entering the debugger and rebooting) and options KDB_TRACE (which
>>> causes a trace to be printed on panic by default).  Probably they
>>> should also be tunables so that loader.conf entries will work.
>>
>> Great explanation, thank you. I turned on debugging on my desktop
>> computer which, apart from normal every day use, is 'testing' STABLE
>> by running it :) I'm perfectly fine with the defaults, at least for now.
> 
> BTW, if you're running X on your desktop, be aware that it's X that does
> all the video mode management.  If your box enters the debugger while in
> X, the debugger doesn't know how to switch back to text mode (and X
> isn't running, obviously), so while you'll be talking to the debugger,
> the chances you'll see anything comprehensible are actually quite low. 
> For this reason, I normally also use a serial console when debugging
> desktop boxes: I can always plug my notebook in with a serial cable to
> see why it's entered the debugger.

Right, I haven't thought about that. I guess without a serial console my
best option is to set debug.debugger_on_panic to 0, debug.trace_on_panic
to 1 and keep crash dump with kernel.debug for later examination, isn't
it? The whole point of doing this, as I am not really experienced in
debugging, is to have the information saved somewhere in case of a panic.

Regards,

Karol

-- 
Karol Kwiatkowski  <freebsd at orchid dot homeunix dot org>
OpenPGP: http://www.orchid.homeunix.org/carlos/gpg/0x06E09309.asc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20061230/946e8f26/signature.pgp


More information about the freebsd-stable mailing list