Flex Builder 3 Profiller Gotcha…
Today I was getting close to launch of an application I have been working on and decided to a bit more Profiling on to clean the performance again (its running on the end of the Flash players VM capabilities). The problem sprang from the fact I had recently changed the compiler options to us Flex 3’s new Runtime Shared Libraries (RSL’s) of the framework to improve caching performance. But to my surprise I was greeted with a lovely error message:
“profiling can only be done on the debug version of an application.”
WTF? Right click the flash player instance in the browser… yep its the latest player DEBUG version. I run up the standard “Test” project I always have to test different things as I develop. Yep profiling runs fine on that too.
The problem springs from the fact that I had changed the Flex app to use the RSL compiled framework, which when you think about it, it makes perfect sense. The RSL version of the library is compiled without the debug code so as to provide the smallest file possible.
To resolve it’s necessary to indicate “Merged into code” in Project > Properties > Flex Builder Path > Library Path > Framework linkage.
So just keep an eye out for this one. Is anyone out there using RSLs yet? or the profiler?


I debug RSL-enabled Flex SWF files all the time, I certainly don’t need to toggle back to ‘merged into code’ to have it work.
What I suspect happened was changing the option did a full rebuild of your application.
Nope because as soon as I re-enable it I can reproduce the error. And I can re-produce the error on a fresh project. I wonder if its my cached version of the framework RSL?