[Issue 11549] New: Throwing an exception while debugging causes incorrect execution

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Nov 18 23:00:28 PST 2013


https://d.puremagic.com/issues/show_bug.cgi?id=11549

           Summary: Throwing an exception while debugging causes incorrect
                    execution
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: VisualD
        AssignedTo: nobody at puremagic.com
        ReportedBy: turkeyman at gmail.com


--- Comment #0 from Manu <turkeyman at gmail.com> 2013-11-18 23:00:26 PST ---
While debugging 32bit, when the program encounters a throw, the debugger stops
and produces a pop-up dialog box (even if the D exceptions are disabled in
"Debug -> Exceptions...".
The usual options are present (continue, ignore, terminate), but what happens
next gets weird.

With Mago:
 Pressing continue causes the program to continue execution _instead of
unwinding_ as if the exception were never thrown, which leads to execution of
code that shouldn't be reachable.
 This completely changes the execution path of code while debugging (doesn't
ever enter any catch blocks), and since code following the throw shouldn't be
reachable, it typically crashes immediately.

With Visual Studio's debugger:
 Pressing 'continue' then produces a second request "Would you like to pass the
exception back to the program being debugged".
 Choosing 'yes' then produces the first dialog box again, and choosing
'continue' from there repeats the first dialog over and over continuously from
every single point in the unwind process, although the code does appear to
successfully unwind.

This is a critical issue while debugging. It is impossible to debug code that
contains exceptions with either debugger. Mago is simply broken, and visual
studio is practically unusable.

Are there any known work-arounds?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list