[Mono-bugs] [Bug 571452] New: Debugger not breaking on Unhandled Exceptions in click handler

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Jan 17 00:26:20 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=571452

http://bugzilla.novell.com/show_bug.cgi?id=571452#c0


           Summary: Debugger not breaking on Unhandled Exceptions in click
                    handler
    Classification: Mono
           Product: Mono: Tools
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Visual Studio Integration
        AssignedTo: jpobst at novell.com
        ReportedBy: jhill at novell.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Mono Tools debugger should break on exception, and display the standard
"Exception was unhandled by user code" dialog with options to inspect the
exception or copy the exception to the clipboard, etc.

Currently, the debugger has different behavior in different circumstances.  In
a Windows.Forms application, the debugger will not stop when an exception is
thrown in a Button click event handler.  

Test case:
Create a new Windows.Forms application.  Add a button to the default form, and
use the following code for the click event handler:

        private void button1_Click(object sender, EventArgs e)
        {
            try {
                string a = "Abcd";
                Single s = Single.Parse(a);
            } catch (Exception) {
                throw;
            }
        }


1) Start the project with "Debug on Mono" (No breakpoint set).  Click the
button in the running program, the program will exit (no user feedback.)

2) Set a break point on the following line:
Single s = Single.Parse(a);
Click the button in the running program.  When the program breaks at the
breakpoint, press F10 to step over the executing line.  An exception dialog
will be displayed.  *This should not occur* - the debugger should step directly
into the catch statement.  

3) Set a break point on the following line:
throw;
Click the button in the running program.  When the program breaks at the
breakpoint, press F10 to step over the executing line.   An exception dialog
will be displayed.  *This is not the correct dialog* - standard "Exception was
unhandled by user code" dialog with options to inspect the exception or copy
the exception to the clipboard, etc.  
Dismiss this dialog.  You will then receive the following dialog:
---------------------------
Microsoft Visual Studio
---------------------------
There is no source code available for the current location.
---------------------------
OK   
---------------------------
Show Disassembly
---------------------------

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list