kernel message buffer/log. Its off by default and can be switched on in the
kernel configuration on build time, be set as a variable in ddb and be set
using sysctl.
This adds the sysctl value
ddb.tee_msgbuf = 0
by default.
The functionality is especially added and aimed for developers who are not
blessed with a serial console and wish to keep all their ddb output in the
log. Specifying /l as a modifier to some selected commands will also put
the output in the log but not all commands provide one nor has the same
meaning for all commands.
This feature could in the future also be implemented as an ddb command but
that could lead to more bloat allthough maybe easier for non developpers to
use when mailing their backtraces from kernel crashes.
message buffer has not yet been set up, mimicking code from the top of
the sysctl routine for retrieving the message buffer.
(2) Add a /l modifier to the trace command. This makes it print the
backtrace using printf() instead of db_printf(), which has the nice
side-effect of also putting it into the message buffer. A kernel with
ddb in it but disabled (ie, ddb.onpanic set to zero) will print a
backtrace (which ends up in the message buffer) before dumping (or
not, depending on the value of kern.dump_on_panic) and rebooting, but
if ddb is not disabled, the backtrace is not printed, and there's no
way to get it to display a backtrace such that you can retrieve it
after the dump. The backtrace printed by gdb is sometimes a little
different.
(3) Documentation for the above.
The "ditto" character is " (double-quote); not , (comma) as
indicated in the manpage; and not ' (single-quote) as indicated
in the man.old -style manpage from which the mdoc manpage was derived.
Some other versions of ddb use single-quote for this feature, and this
part of the code may change again in the near future, but the documentation
now affects reality now.
they
the same name); it searches the symbol table(s) for all symbols matching
a given substring, and prints.
Extremely useful for when you forget that critical symbol name.
Also, with /F support (cf. "ls -F") to print a char indicating the
symbol type.
Fix few commands using Cm instead of Ic [consisntency].
Make .Bl's -compact in most cases (where items are one-line entries);
dramatically improves readability