Changes between Version 55 and Version 56 of NewGhciDebugger


Ignore:
Timestamp:
Apr 9, 2007 3:32:31 PM (8 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewGhciDebugger

    v55 v56  
    210210== Known problems in the debugger ==
    211211
    212 The following list describes issues where the debugger does not behave in the ideal way:
    213  * Computations which fork concurrent threads can use breakpoints, but sometimes a thread gets blocked indefinitely. Consider this program:
     212=== Orphaned threads ===
     213
     214Computations which fork concurrent threads can use breakpoints, but sometimes a thread gets blocked indefinitely. Consider this program:
    214215{{{
    215216   main = do
     
    223224
    224225Suppose we have a breakpoint set somewhere inside the computation done by `foo`, but there are no breakpoints in the computation done by `bar`. When we run this program in GHCi the following things happen:
    225     - `foo` gets forked and `foo` and `bar` begin their work [[BR]]
    226     - `bar` completes its job and we return to the GHCi prompt (uh oh!) [[BR]]
    227     - `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).
     226 * `foo` gets forked and `foo` and `bar` begin their work [[BR]]
     227 * `bar` completes its job and we return to the GHCi prompt (uh oh!) [[BR]]
     228 * `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).
    228229
    229230Now the foo thread is blocked, so we can't witness the breakpoint.
    230231
    231  * foober
    232232
    233233----