I added some code to the debugger, to allow stepping from a risen exception, to a finally or except block.
And also to step correctly from the end of finally (reraise) to the next finally/except.
However, the compiler does not add lineinfo for the finally (FPC_POPADDRSTACK) or the end (reraise) statement.
This means:
1) When stepping into an finaly/except block (the IDE does this by breaking in FPC_POPADDRSTACK and step out one) then the execution point is still in the last statement before the finally/except. This is because fpc added the FPC_POPADDRSTACK to the last statement in the try block.
2) If stepping ove the last command in a try/finally (entered as result of an exception) then the ReRaise is part of the last statement. Stepping over the last statement, will trigger the Reraise (and go to the next finally/except)
Both are cosmetic, and the 2nd can even be seen as correct (though probably not expected by many users).
Therefore would it be possible/acceptable to generate line info for the except/finally/end ?
Or point 1 might also be solvable by starting the line info of the first command in the try/finally before the FPC_POPADDRSTACK
Any ideas?
Also any ideas, if there is a way to identify implicit finally? Currently one has to step through all of them.
