Speed up Symbian emulator and debugger
| Thu, 2007-04-19 17:58 | |||||
|
I'm not coding that much in Symbian but the one thing that annoys me is when I want to debug a program, the time I have to wait for the debugger and emulator to load. I've read up on how to speed things up, but most tips and fixes was old. Symbian did provide a batch file and perl script to speed up thier old S60 SDK's. I found that they basically rebase the DLL type files. So I decided to write a perl script that would rebase and bind the dll type files. This should speed up the load time of any program that has relocating dlls. So if you like me don't want to wait forever to debug a program, if you like me own a slow 6 year old PC, then try the perl script in this post. Well to be honest I was disappointed whith the results I obtained. The emulater and debugger now loads in approximatly 1:15 from 1:29 for the 1st run, well I suppose it's something. I would like you to post problems with this script and speed improvements you might have gotten using this script. Also tips on how the emulator might be sped up some more. NOTE: You will need ReBase.exe and bind.exe from MicroSoft, They release it as free download with the Platform SDK, if you develop for Windows, you'll pobably have these.
|
|||||






Forum posts: 68
Thie files in FAQ-0713 will not work for the CodeWarrior versions of the emulator, but the script I posted does the same job for CW (Carbide.c++ uses CW debugger).
FAQ-0713 mentions the file \epoc32\release\winscw\udeb\watcher.dll, but that has changed to \epoc32\release\winscw\udeb\watcher.exe from Symbian 9. Moving it shaves about 10s load time for me.
Forum posts: 5
Unfortunately, I don't think you can significantly speed up an emulator. The main problem is a whole Symbian architecture. It based on a lot of small modules, and these modules are reflected on Dlls in Windows build. Loading Dll is a quite expensive operation on Windows, but Symbian emulator loads about 2000 of them! Also, modern Symbian OS (I mean 9.1 and 9.2) is based on exceptions (I mean, they implemented Leaves as SEH exceptions on Windows). Throwing SEH exception is not too expensive in release build, but is extremely expensive in debug build with attached debugger. Emulator throws a lot of exceptions during startup.
The only way I see to speed-up the emulator is to re-write it from the scratch
Forum posts: 68
This is an updated script to support updates in the carbide debugger.