Changes between Version 35 and Version 36 of NewGhciDebugger


Ignore:
Timestamp:
Apr 9, 2007 2:31:43 PM (7 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewGhciDebugger

    v35 v36  
    165165   *Main> :step foo True [1,2,3] 
    166166}}} 
    167 Here `foo True [1,2,3]` is the expression that we want to evaluate. 
     167where `foo True [1,2,3]` is the expression that we want to evaluate. 
    168168 
    169169=== Continuing execution after a breakpoint === 
    170170 
     171A computation which has stopped at a breakpoint can be resumed with the `:continue` command.  
     172 
    171173=== Known problems in the debugger === 
     174 
     175The following list describes issues where the debugger does not behave in the ideal way: 
     176 * Computations which fork concurrent threads can use breakpoints, but sometimes a thread gets blocked indefinitely. 
     177   Consider this program: 
     178   {{{ 
     179   main = do 
     180      forkIO foo 
     181      bar 
     182 
     183   foo = do something 
     184 
     185   bar = do something else 
     186   }}} 
     187   Suppose we have a breakpoint set somewhere inside the computation done by `foo`, but there are no breakpoints in the computation done by `bar`. 
     188 
     189   When we run this program in GHCi the following things happen: 
     190      1. `foo` gets forked and `foo` and `bar` begin their work 
     191      2. `bar` completes its job and we return to the GHCi prompt (uh oh!) 
     192      3. `foo` eventually hits a breakpoint and attempts to return to the command line, but it can't because we are already there (in the previous step). 
     193 
     194   Now the foo thread is blocked, so we can't witness the breakpoint. 
     195 
    172196 
    173197=== Wishlist of features (please add your's here) ===