The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/ddb/TODO

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 $NetBSD: TODO,v 1.19 2022/04/10 09:50:45 andvar Exp $
    2 
    3 In rough order.
    4 
    5 Bugs to be fixed:
    6 
    7 done    command history sometimes gets slightly confused
    8 
    9 2.      uvm_fault()s can loop infinitely (kern/10016)
   10 
   11 done    examine /m (hex + character dump) doesn't work.
   12 
   13 4.      "dot", "next", and "last" are not set properly and are usually
   14         the same.
   15 
   16 done    The vax port supports decimal pids in "trace", etc. This should be
   17         MI or not exist at all.
   18 
   19 6.      double-quote delimited strings don't work in "print", nor do
   20         multiple arguments (like the manpage says)
   21 
   22 Features to be implemented:
   23 
   24 dead    Have "ps" print pids with a 0t prefix to reduce radix
   25         confusion. This is very ugly...needs thought.
   26 
   27 done    "set" should display the old value as "write" does.
   28 
   29 done    Support 64-bit longs in "write". /L or /q? both? long versus quad?
   30 
   31 4.      Note only some radixes are supported.
   32 
   33 done    Allow a mechanism for DDB to not fail under X (on the i386).
   34         Probably just skip DDB in such cases.
   35 
   36 done    Enable DDB in GENERIC on all architectures not starved for
   37         space.
   38 
   39 done    Numbers starting with [a-f] should work, but symbols
   40         of the same name should have priority.
   41 
   42 8.      Implement the unimplemented C operators, especially bitwise-OR (|).
   43 
   44 9.      "cond" -- conditionally execute a specified command on a breakpoint.
   45         from Mach.
   46 
   47 10.     macros ("macro", "dmacro", "show macro"). from Mach.
   48 
   49 11.     !! command repetition (mostly unnecessary, just for consistency).
   50         from Mach.
   51 
   52 12.     "continue" should honor _count as a number of breakpoints to ignore,
   53         just as ",5:c" ignores 5 breakpoints in adb.
   54 
   55 13.     There should be a "step over" command (like :e in adb) that sets
   56         a breakpoint at the next instruction if the current instruction
   57         is a call (or jump?).
   58 
   59 14.     Specification of up to 4 ASCII chars as a 32-bit number
   60         in an expression, like ' in adb:
   61              'cccc'          ASCII value of up to 4 characters.
   62         I'm not sure what character to use for this, if the single-quote
   63         is used for ditto, and the double-quote for strings in "print".
   64 
   65 15.     Add crossreference of gdb/ddb commands to manpage. i.e.
   66         ddb "next" ~= gdb "finish".
   67 
   68 16.     Correct "ditto" to be a single-quote? Or something else?
   69 
   70 17.     option? To not lose system time when in ddb [reset clock on exit?]
   71 
   72 dead    Consider an XSERVER_DDB option [is it worth it?]
   73 
   74 done    Eliminate vestigal DDB-specific kprintf() format specifiers
   75 
   76 20.     Figure out what's up with "ed_style"
   77 
   78 21.     Some sort of "immediate" step-in, step-over keybindings, like [
   79         and ] in kadb (but not in adb):
   80              [           Like :e in adb(1), but requires only  one  keys-
   81                          troke and no RETURN character.
   82 
   83              ]           Like :s in adb(1), but requires only  one  keys-
   84                          troke and no RETURN character.
   85         Does this make people queasy?
   86 
   87 22.     "search" should display useful output (by default? with /v?)
   88         indicating success/failure rather than simply setting "dot".
   89         Perhaps verbose by default unless called from a macro (ugh?).
   90 
   91 done    kern/9544, some symbolic representation of boot flags
   92         suitable for documentation (esp. for RB_NOSYNC).
   93 
   94 done    Soren requests in-band symbol table storage for ddb.
   95         "dbsym"? Needs investigation/thought.
   96 
   97 25.     Support multiple address spaces (e.g. io space).
   98         Suggested by eeh in <Pine.NEB.4.21.0005250944210.25299-100000@ehorvath>
   99 
  100 done    Expand help to provide usage/synopsis per-command.
  101 
  102 27.     Ensure MD commands have consistent names and factor out
  103         common code.
  104 
  105 done    Some way to track symbol table failures, since the message buffer
  106         isn't available when we detect them.
  107 
  108 29.     Make "workXX" variables work.
  109 
  110 30.     Write ddb(9) to document how ports should implement the debugger,
  111         and the canonical solution to some niggling annoying issues.
  112 
  113 31.     Add support for cpus where sizeof(register_t) is not necessarily
  114         the same as sizeof(void *). This is the case on SH5 using the
  115         ILP32 ABI. On this CPU db_expr_t is, necessarily, 64-bits.
  116         Unfortunately, in ILP32 mode, ddb will only display the low 32-bits
  117         of any expression, including registers...
  118 
  119 done    Add support for duplicating all ddb output to the message buffer for
  120         those unlucky souls that don't have a serial console.
  121 

Cache object: 078b6751df2f92be4080b61393e6dfdb


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.