Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Breakpoint will not break in Silverlight

I am unable to hit a breakpoint on the server side of a Silverlight web application. I know the code executes as I can break on the asynchronous callback with what I was expecting. It's only my machine with this issue.

I am aware this seems to be a common question, however all the answers to the ones I have seen have not helped me, including:

  • The breakpoint is red indicating it will be hit.
  • Silverlight checkbox is checked on the web project's properties.
  • Clean & build the solution.
  • Getting a new version from source control.
  • Cleared everything from my web browser: cache, cookies etc... (I am using IE).
  • Clearing the temp files in %windir%/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files.
  • Checked that all projects are being built in the configuration manager.
  • Everything set to debug and not release in the configuration manager.
  • Manually attaching to the w3wp.exe process.
  • IIS reset.
  • IIS is set to use .NET v4 and the pipeline set to classic not integrated.
  • Reinstalled IIS and freshly configured.
  • Reinstalled Visual Studio.
  • Reinstalled Silverlight.

I am using Visual Studio 2010 (.NET 4), Silverlight 4, and using IIS (I think 6, cannot remember) to host the site.

Interesting behaviour I have discovered (may help to diagnose):

  • It will still not break if I use Visual Studio's own development server to host the site instead of IIS.
  • I saw a blog post (cannot remember where or I would provide a link) under Debug -> Windows -> Proccess (Ctrl D, P) to check that the w3wp.exe process is set to "Silverlight" under the "Debugging" header - mine was set to "Managed" and was unable to set it to silverlight when attaching. After checking a colleagues settings on a machine which was working, his was also set to managed.

Any suggestions will be very appreciated!

UPDATE: Thanks for all the suggestions. I decided to format C:\ instead of spending more time playing around, as my machine needed it badly anyway. I still am not sure what the problem was, but it is working now.

I did try a couple of other things before this such as deleting the .sou files, and checking I was running the same version of Silverlight, mentioned in this blog post, with no luck. Hopefully this will act as a checklist for people with this problem in the future.

like image 792
Darren Hale Avatar asked Jul 17 '12 17:07

Darren Hale


People also ask

Can you debug a Silverlight application?

Right click on Silverlight project and select Debug tab from the project properties. Select "Out-of-browser application" radio button to enable Out of Browser debugging. Right click on Silverlight project and select "Set as Startup project". Once all configurations are completed run this application.

Why the breakpoint will not currently be hit?

If the breakpoint is in a library that is only used in one function in your main assembly, the symbols will not be loaded (and it will show the breakpoint as not being hit) until that function is called.

How do you trigger a breakpoint?

Click the button next to the Enable Cross-Triggering check box. The Cross Trigger Breakpoints dialog box appears. You can create new breakpoints, edit or remove existing breakpoints using the Cross Trigger Breakpoints dialog box. The table below briefly describes the options available on the dialog box.


1 Answers

As you are working with Silverlight, you should not attach to w3wp.exe. This is a worker process for IIS and is not relevant to your Silverlight code. The browser process actually executes your Silverlight code. Could you try opening your Silverlight hosting page in IE and then use Visual Studio to attach to iexplore.exe (checking again for Silverlight as the code type you want to debug)?

This should allow you to debug your Silverlight code without any problems.

like image 176
Jonathan van de Veen Avatar answered Oct 09 '22 13:10

Jonathan van de Veen