Limitations/bugs in the Silverlight debugger?


  • 1) Is remote debugging supposed to work?  I can choose a browser from the list of processes, Silverlight is available in the list of debugger types, but as soon as I say attach it says "Unable to attach to the process."

    2) The debugger won't find compressed PDBs on a symbol server.  If I remove /compress from my symstore.exe script then it works.

    3) When symbols are set to load manually, clicking "load symbols from symbol path" instantly brings up the Find Symbol dialog.  Only when you cancel out of it does it search your symbol path (successfully, assuming you've adjusted for bug #2).  Needless to say this is backwards.

    4) Source server doesn't work at all.  I always get "Module XXX does not contain source server information."

    For testing #2-4, I've built a dummy .Net 3.5 app that calls into the same modules as our Silverlight app.  All of the above work correctly with no workarounds required.  So it's not anything related to our symbol indexing/storage mechanism.  Are these known limitations of the Silverlight debugger?  I'd think it would not work fundamentally different from the Managed debugger, but I'm no expert...
    Friday, May 29, 2009 2:14 AM

All replies

  • Hello Richard,

    Thanks for your valuable feedback of our product, we really appreciated it.

    1). Based on my understanding, We wanted to do remote debugging on a Silverlight project, however, we get "Unable to attach to the process." error message after clicking Attach button, right?
         For this issue, we need more information. For example, Do we run the same version of Visual Studio Remote Debugger Monitor on the remote machine? Do we use the same user name and password on both machines? Could you please describe the error message as it is? Please refer to this video on how to do remote debugging.
    3). Do we configured the Symbol Server settings in Visual Studio? After the configuration, Visual Studio will automatically download those symbol files for us.
         We could click Tools menu->Options->Debugging->Symbols to complete the configuration.
    4). Could you please be more specific about the issue?

    If we will, we could submit a report or give our suggestion to Microsoft by click the Connect site of Microsoft.
    Thanks a lot!
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have any feedback, please tell us.
    Welcome to the All-In-One Code Framework!
    Thursday, June 04, 2009 3:22 AM
  • 1) Yes, I'm connecting to the 2008 version of msvsmon from VS 2008 SP1.  Regular remote debugging works fine.  For example, I can attach to the iexplore.exe process where Silverlight is running in native (C/C++) mode.  It's Silverlight debugging in particular that fails.  The error in the messagebox is exactly as written above: "Unable to attach to the process."

    2-3) Yes, the configuration is fine.  Again, everything works as expected when using the Native or Managed debuggers.  And even when in Silverlight mode, I was able to workaround the bugs and get symbols to load from the symbol server.  I just had to turn off compression and dismiss a confusing modal dialog.

    4) Here are the repro steps.
    a) Attach to IE in Silverlight mode. 
    b) Browse to your site.  (on an official server that's been indexed etc, not a local build inside Cassini)
    c) Break on a CLR first-chance exception or whatever.
    d) In the Call Stack window, right click -> load symbols on a stack frame with one of your Silverlight modules
    e) Wait an eternity.  Dismiss the Find Symbol dialog when it finally comes up.  (bug #3)
    f) Make sure "Tools -> Options -> Debugging -> Print source server diagnostic messages to the Output window" is enabled
    g) Doubleclick your stack frame

    Expected: source code is fetched from the server
    Actual: You get the Find Source dialog, followed by the Show Disassembly? prompt.  If you look in the Output window, you'll see SRCSRV: The module 'Foo' does not contain source server information.

    Again, this all works fine if I add the same module to a dummy .Net 3.5 (non-Silverlight) app and perform the same steps.
    Friday, June 05, 2009 12:13 AM
  • Hi Richard,

    I forgot to mention that we could only remote debugging silverlight project by attaching to processes running on the MAC machine. This is supported only between a computer running Windows and a Macintosh computer. 

    Please take a look at the Silverlight Debugging Overview on MSDN for more information:

    Best regards,
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have any feedback, please tell us.
    Welcome to the All-In-One Code Framework!
    Monday, June 08, 2009 3:31 AM