22f1132820
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.
122 lines
4.0 KiB
Plaintext
122 lines
4.0 KiB
Plaintext
$NetBSD: TODO,v 1.15 2004/09/29 23:54:11 reinoud Exp $
|
|
|
|
In rough order.
|
|
|
|
Bugs to be fixed:
|
|
|
|
done command history sometimes gets slightly confused
|
|
|
|
2. uvm_fault()s can loop infinitely (kern/10016)
|
|
|
|
done examine /m (hex + character dump) doesn't work.
|
|
|
|
4. "dot", "next", and "last" are not set properly and are usually
|
|
the same.
|
|
|
|
5. The vax port supports decimal pids in "kill", etc. This should be
|
|
MI or not exist at all.
|
|
|
|
6. double-quote delimitted strings don't work in "print", nor do
|
|
multiple arguments (like the manpage says)
|
|
|
|
Features to be implemented:
|
|
|
|
1. Have "ps" print pids with a 0t prefix to reduce radix
|
|
confusion. This is very ugly...needs thought.
|
|
|
|
done "set" should display the old value as "write" does.
|
|
|
|
3. Support 64-bit longs in "write". /L or /q? both? long versus quad?
|
|
|
|
4. Note only some radixes are supported.
|
|
|
|
5. Allow a mechanism for DDB to not fail under X (on the i386).
|
|
Probably just skip DDB in such cases.
|
|
|
|
6. Enable DDB in GENERIC on all architectures not starved for
|
|
space.
|
|
|
|
done Numbers starting with [a-f] should work, but symbols
|
|
of the same name should have priority.
|
|
|
|
8. Implement the unimplemented C operators, especially bitwise-OR (|).
|
|
|
|
9. "cond" -- conditionally execute a specified command on a breakpoint.
|
|
from Mach.
|
|
|
|
10. macros ("macro", "dmacro", "show macro"). from Mach.
|
|
|
|
11. !! command repitition (mostly unnecessary, just for consistency).
|
|
from Mach.
|
|
|
|
12. "continue" should honor _count as a number of breakpoints to ignore,
|
|
just as ",5:c" ignores 5 breakpoints in adb.
|
|
|
|
13. There should be a "step over" command (like :e in adb) that sets
|
|
a breakpoint at the next instruction if the current instruction
|
|
is a call (or jump?).
|
|
|
|
14. Specification of up to 4 ASCII chars as a 32-bit number
|
|
in an expression, like ' in adb:
|
|
'cccc' ASCII value of up to 4 characters.
|
|
I'm not sure what character to use for this, if the single-quote
|
|
is used for ditto, and the double-quote for strings in "print".
|
|
|
|
15. Add crossreference of gdb/ddb commands to manpage. i.e.
|
|
ddb "next" ~= gdb "finish".
|
|
|
|
16. Correct "ditto" to be a single-quote? Or something else?
|
|
|
|
17. option? To not lose system time when in ddb [reset clock on exit?]
|
|
|
|
18. Consider an XSERVER_DDB option [is it worth it?]
|
|
|
|
19. Eliminate vestigal DDB-specific kprintf() format specifiers
|
|
|
|
20. Figure out what's up with "ed_style"
|
|
|
|
21. Some sort of "immediate" step-in, step-over keybindings, like [
|
|
and ] in kadb (but not in adb):
|
|
[ Like :e in adb(1), but requires only one keys-
|
|
troke and no RETURN character.
|
|
|
|
] Like :s in adb(1), but requires only one keys-
|
|
troke and no RETURN character.
|
|
Does this make people queasy?
|
|
|
|
22. "search" should display useful output (by default? with /v?)
|
|
indicating success/failure rather than simply setting "dot".
|
|
Perhaps verbose by default unless called from a macro (ugh?).
|
|
|
|
23. kern/9544, some symbolic representation of boot flags
|
|
suitable for documentation (esp. for RB_NOSYNC).
|
|
|
|
24. Soren requests in-band symbol table storage for ddb.
|
|
"dbsym"? Needs investigation/thought.
|
|
|
|
25. Support multiple address spaces (e.g. io space).
|
|
Suggested by eeh in <Pine.NEB.4.21.0005250944210.25299-100000@ehorvath>
|
|
|
|
26. Expand help to provide usage/synopsis per-command.
|
|
|
|
27. Ensure MD commands have consistent names and factor out
|
|
common code.
|
|
|
|
28. Some way to track symbol table failures, since the message buffer
|
|
isn't available when we detect them.
|
|
|
|
29. Make "workXX" variables work.
|
|
|
|
30. Write ddb(9) to document how ports should implement the debugger,
|
|
and the canonical solution to some niggling annoying issues.
|
|
|
|
31. Add support for cpus where sizeof(register_t) is not necessarily
|
|
the same as sizeof(void *). This is the case on SH5 using the
|
|
ILP32 ABI. On this CPU db_expr_t is, necessarily, 64-bits.
|
|
Unfortunately, in ILP32 mode, ddb will only display the low 32-bits
|
|
of any expression, including registers...
|
|
|
|
done Add support for duplicating all ddb output to the message buffer for
|
|
those unlucky souls that don't have a serial console.
|
|
|