Changes between Version 2 and Version 3 of GhciDebugger


Ignore:
Timestamp:
Aug 9, 2006 2:11:30 PM (8 years ago)
Author:
mnislaih
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GhciDebugger

    v2 v3  
    149149== Interrupting at exceptions == 
    150150Ideally, a breakpoint that would witness an exception would stop the execution, no more questions. Sadly, it seems impossible to 'witness' an exception. Throw and catch are essentially primitives (throw#, throwio# and catch#), we could install an exception handler at every breakpoint site but that: 
    151          - Would add more overhead 
    152          - Would require serious instrumentation to embed everything in IO, and thus 
    153          - would alter the evaluation order 
     151 * Would add more overhead  
     152 * Would require serious instrumentation to embed everything in IO, and thus 
     153 * Would alter the evaluation order 
    154154 
    155155So it is not doable via this route. 
     
    157157We could try and use some tricks. For instance, in every 'throw' we spot, we insert a breakpoint based on the condition on this throw. In every 'assert' we do the same. But this would see only user exceptions, missing system exceptions (pattern match failures for instance), asynchronous exceptions and others. Which is not acceptable imho. 
    158158 
    159 For now I am stuck. 
     159For now I am stuck :S 
    160160 
    161161