(I know I promised this eons ago, so apologies in advance... on the flipside, I'm posting from my vacation in Paris, so hopefully that earns me 1-2 brownie points back.)
First, my PDC slides and the video. This is the same talk that I gave at TechEd Iceland for profiling.
I was recently reminded to post instructions on profiling Silverlight 4 with VS2010.
At PDC, I announced that Silverlight 4 came with the new CoreCLR capability of being profile-able by the VS2010 profilers: this means that for the first time, we give you the power to profile the managed and native code (user or platform) used by a Silverlight application. woohoo. kudos to the CLR team.
Sidenote: From silverlight 1-3, one could only use things like xperf (see XPerf: A CPU Sampler for Silverlight) which is very powerful to see the layout/text/media/gfx/etc pipelines, but only gives the native callstack.)
However, the version of VS2010 available at PDC unfortunately had a bug: it could not profile Silverlight. My PDC profile demo was saved from a VS2010 build with the fix... thus the delay in my posting instructions. I'm not sure when you'll get next the public drop of VS2010... but you'll run into a new problem: SL4 Beta did not publish symbols to the Microsoft Symbol Server.
I'll be sure to post a status on all of this by Mix (feel free to remind me).
If you happen to read this at a later point, when you have all the drops and symbols, then: Hello! What is the future like? You can use the below instructions:
- admin-level VS prompt
- cd /
- vsperfclrenv /sampleon
- set CORECLR_ENABLE_PROFILING=1
- set CORECLR_PROFILER=%COR_PROFILER%
- vsperfcmd /start:sample /output:myProfile.vsp
- vsperfcmd /launch:"c:\Program Files\Internet Explorer\iexplore.exe" /timer:100000
- ** navigate, play with app, Shut down.
- vsperfcmd /shutdown
- before viewing, turn on the symbols server in VS2010 through: Tools-->Options-->Debugging-->Symbols-->check microsoft symbols server.
(In the video, the symbols just point to a folder where I cache the internal symbols locally... not sure, but I don't think you guys can do that too.)
- Open file in VS2010
(Double-clicking in explorer will not work. VS2010 --> File --> open --> pick file.)