Changes between Version 99 and Version 100 of NewGhciDebugger


Ignore:
Timestamp:
May 17, 2007 12:29:43 PM (7 years ago)
Author:
simonmar
Comment:

add my current todo list

Legend:

Unmodified
Added
Removed
Modified
  • NewGhciDebugger

    v99 v100  
    4242== Todo == 
    4343 
    44  * P1 User documentation. You're looking at it. The user manual will have to move into the main GHC docs at some point. (ONGOING) 
     44 * P1 we shouldn't break multiple times for an exceptions, see break011 (at the end) 
     45 
     46 * P1 can't do bold on Windows 
    4547 
    4648 * P1 It's a bit strange that in "f = e" you don't get a breakpoint covering the whole binding, but in "f x = e" you do.  :break f doesn't work if f is not a function, for example. 
    4749 
    48  * P1 what happens to TH code?  see dynbrk5 test 
    49  
    50  * P1 wrong variable names (see below- why is this still happening?) 
    51  
    52  * P2 let you go back in time - save the last N breaks.  (maybe only with a flag, otherwise slow). 
    53  
    54  * P2 when an exception is thrown, behave like a breakpoint. 
    55  
    56  * P2 tabs go wrong with :list 
    57  
    58  * P2 Support Unicode in data constructor names inside info tables. Actully this should just be a matter of using the underlying fast string in the occname. (MODERATE) 
    59  
    60  * P2 Use a primop for inspecting the STACK_AP, rather than a foreign C call. (MODERATE) 
     50 * P2 :force should catch exceptions, so [1,2,undefined]  would display as `[1,2,< exception >]` 
     51 
     52 * P2 sometimes the result types are wrong (see result001 test) 
     53 
     54 * P2 when showing a SrcSpan, we could say which top-level function contains it.  Ideally we should store the declPath that 
     55   the coverage pass collects, but as a [OccName] rather than [String]. 
     56 
     57 * P2 perhaps we should have a :watch command, that could be used to save variables for future inspection (they wouldn't get 
     58   thrown away by :continue) 
    6159 
    6260 * P2 Extend the stack inspection primitive to allow unboxed things to be grabbed. (MODERATE) 
    6361 
    64  * P2 Improve :list command: add ':list f', ':list M 23', etc. 
    65  
    66  * P2 The delete command. It is fairly primitive, and probably not done in the best way. This will be fixed when the API is finalised. (EASY) 
    67  * P2 ":delete 999" doesn't complain 
    68  
    69  * P2 Allow breakpoints to be enabled and disabled without deleting them, as in gdb. (EASY) 
    70  
    71  * P2 Extend breaks and step with counters, so that we stop after N hits, rather than immediately. (EASY/MODERATE) 
     62 * P2 We can disable a breakpoint with ":set stop N :continue", but this still prints out the breakpoint info when we stop. 
     63   Should we print the info only if there were no commands? 
    7264 
    7365 * P2 Revert to adding tick information to the BCO directly, and remove the byte code instructions for breaks. I'm not sure that this is worth it. In some ways the implementation based on a byte code instruction is a little cleaner than adding breaks on BCOs directly. Though the bc instruction method may be a little slower than the other way. (MODERATE/DIFFICULT) 
     
    8476  
    8577 * P2 show variables with unboxed types. 
     78 
     79 * P3 tabs go wrong with :list (but only for .lhs files, because unlit does tab expansion... duh) 
    8680 
    8781----