Awhile ago one of my newhire devs informed me he could not debug our Silverlight application. I sent him on a google-fu quest to figure out why and get it working, since not being able to debug is a Pretty Big Deal. He was not able to find a solution to the problem but being a resourceful fellow he found a workaround which involved a single test page that opened the Silverlight window in-situ instead of popping up a new one.
Fast forward to yesterday, where your gentle blogger was having issues with the )(#%)@*(#*(@% application known as Software Planner, a dinosaur of a bug tracking system built in *gags* Classic ASP, that has truly abyssmal usability and hangs constantly. I was told that upgrading my IE to version 8 (I was on 7) would magically solve all my problems with that bit of software "engineering". Well, it didn't, and it created a world of new ones.
Suddenly, I can't debug my Silverlight application either. I spend several hours trying every suggestion I can find in the blogosphere before I come across a post asking it the problem might perhaps be related to IE8, which had just been installed.
Aha! So I uninstalled IE8, and guess what? My problems mysteriously vanished and my debugger is happily munching Silverlight grass again.
I wonder how many hours of people's productivity has been wasted on this.
The moral of this story is, until they fix this, if you are a Silverlight developer, run, don't walk, away from IE 8 as fast as your little feet can carry you.
*Note - I use Firefox and/or Chrome for my personal browsing pleasure. But since most people use IE, I figure I ought to be testing on that. I hadn't even noticed I didn't have the latest version until my coworker mentioned it.
I love Silverlight, but this IE8 bug gets a failboat award from me big time.
Subscribe to:
Post Comments (Atom)
4 comments:
Hi Anye, this issue spawned a couple of internal bugs here, which have been resolved as By Design. Here is an explanation of what's going on:
IE8 since Beta1 spins up two IExplore.exe processes with one being the child of the other. The child process is the browser and is also the process running the Silverlight Application. The parent process is the one with the Title, in this case SilverlightApplication (see snapshot below). I confirmed with Eric that this was the process they were attaching to and since it isn’t running any Silverlight code the breakpoint will naturally not get hit. After attaching to the process running Silverlight everything works fine. It’s an honest mistake to make as the child process of IE8 is something that both VS and CLR have had to deal with. I’m going to resolve the bug as by design since VS is properly not hitting managed breakpoints in a native only process.
Hey Victor,
I see what they are saying but honestly I don't understand why it is not considered a bug from the VS perspective. With IE7, Visual Studio automatically attached to the correct process (maybe there was only one). Why is it considered ok to cause a step backwards instead of modifying VS to attach to the correct process?
I did actually try attaching to the IE processes manually while trying to figure out what was going on and it didn't work for me - it is possible that some other setting was interfering with it working at the time - but really, I don't believe that in VS I should have to manually attach anymore and if I do, it should be all over the Silverlight Forums as a FAQ.
Thanks for looking into it regardless!
Weird, I never had a problem with the SL debugger and IE8...? VS2008SP1, SL3
John, I think the problem shows up when you have multiple browsers spawning. We have an ASP.NET entry point and we spawn off another window with the Silverlight application and that is where the problem seems to come in for us with IE8. The ASP.NET in the original window debugs, and when my junior dev created a "test page" for himself that called the application from the main window he was able to debug. So, if you are working in one browser window you're probably not affected. We are also using VS 2008 SP1 + SL 3 (yes, we finally did upgrade to SL 3 a few months ago!)
Post a Comment