locked
How do I prevent execution breaks on external code errors during debugging RRS feed

  • Question

  • Each time I execute debugging on a specific application in Visual Studio 2013 For Web, it breaks code execution at an error produced from a NOP operation in an external module. The external module producing the error is named "System.Web.HttpResponseStream.get_Position". Following is the disassembly info generated by the debugger with the line where the error is produced proceeded by >>.

      00000000 53                   push        rbx 
      00000001 48 83 EC 20          sub         rsp,20h 
      00000005 48 8B 0D 74 4C 4F FF mov         rcx,qword ptr [FF4F4C80h] 
      0000000c E8 B7 0D 6C FF       call        FFFFFFFFFF6C0DC8 
      00000011 48 8B D8             mov         rbx,rax 
      00000014 48 8B CB             mov         rcx,rbx 
      00000017 E8 34 DB 6B FF       call        FFFFFFFFFF6BDB50 
      0000001c 48 8B CB             mov         rcx,rbx 
      0000001f E8 FC 0D 6C FF       call        FFFFFFFFFF6C0E20 
    >>00000024 90                   nop 
      00000025 48 83 C4 20          add         rsp,20h 
      00000029 5B                   pop         rbx 
      0000002a C3       
    
    

    Can anyone tell me how can i get the debugger to ignore this external code error and continue execution?

    Thanks in advance for any suggestions!
    David

    Monday, July 28, 2014 7:58 PM

Answers

  • Hi rdaviddd,

    As my understanding, you got it from the Disassembly Window, am I right?

    http://msdn.microsoft.com/en-us/library/a3cwf295.aspx

    If so, generally it would be related to the address-level debugging.

    Tools -> Options -> Debugging -> General -> Unmark Enable address level debug to disable this feature.

    Best Regards,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • Marked as answer by rdaviddd Friday, August 1, 2014 5:14 AM
    Thursday, July 31, 2014 6:55 AM

All replies

  • It's not the nop that's causing the exception, it's the call to FFFFFFFFFF6C0E20 on the line above it. The nop is the address that call will return to.

    You could generate a minidump when it occurs and then use windbg to try to narrow down the problem.


    dal

    Tuesday, July 29, 2014 10:29 AM
  • David

    Thanks for the suggestion. Since the code only "breaks" at the error and displays the disassembly when running within Visual Studio For Web with debugging, I am not familiar with how I would go about generating a minidump from within the Visual Studio For Web application.

    It does not seem to be a problem with running in the productions environment (maybe on the live hosting server the error is not generated or is ignored) but when I am working with code in the development environment on a local IIS 7 server, it happens a lot and is a real irritation since the Visual Studio For Web application "breaks" code execution every time certain pages are loaded and I have to click on "Continue" a bunch of time to get to the actual code I am trying to test.

    I have try in on a bunch of different browsers and with a number of different debug setting, including shutting off JIT, but it happens in all browsers and I can not seem to find a setting in Visual Studio For Web  that will keep it from halting code execution on this error.

    David

    Wednesday, July 30, 2014 10:15 PM
  • Hi rdaviddd,

    As my understanding, you got it from the Disassembly Window, am I right?

    http://msdn.microsoft.com/en-us/library/a3cwf295.aspx

    If so, generally it would be related to the address-level debugging.

    Tools -> Options -> Debugging -> General -> Unmark Enable address level debug to disable this feature.

    Best Regards,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • Marked as answer by rdaviddd Friday, August 1, 2014 5:14 AM
    Thursday, July 31, 2014 6:55 AM
  • Jack,

    Thank you very much!

    This was exactly what I was looking for. I overlooked this setting when "fiddling" with the Visual Studio For Web debugging settings. I also unchecked "Break when exceptions cross AppDomain", and disabling both completely stopped the code execution break when it reached the location that was producing the error. Now I can concentrate on testing the actual code I have been working on!

    I am 65 and since I was young I have always sought to learn something new everyday, so your information has completed this personal requirement for me today :)

    David



    • Edited by rdaviddd Friday, August 1, 2014 5:29 AM
    Friday, August 1, 2014 5:26 AM
  • @David,

    You're welcome! J

    Have a nice weekend,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. <br/> Click <a href="http://support.microsoft.com/common/survey.aspx?showpage=1&scid=sw%3Ben%3B3559&theme=tech"> HERE</a> to participate the survey.

    Friday, August 1, 2014 5:57 AM