The first version of the rapid debugger was introduced a few months ago with the release of v3.00. The rapid debugger offers some great debugging features such as rapid deployments, hot code swapping and objects introspection. Some of these features are not available in any other mobile development tool.
It can also support features that are currently not implemented such as "immediate code window" and others.
However it also has a weakness which is related to the way it works. The debugger runtime performance is not good and in some cases it is just too slow.
Ever since the release of v3.00 I'm looking for solutions that will improve the performance.
I'm happy to say that in the next version the rapid debugger performance will be in most cases close to the performance of Release deployments (or the legacy debugger).
Like everything related to the rapid debugger the solution is quite complicated. Most developers are probably not familiar with the architecture of the rapid debugger. The rapid debugger is made of two components, the engine which runs on the PC and the shell app which runs on the device. The compiled code is in the engine. The engine sends commands to the shell app.
The change in the next version is to also include the compiled code in the shell app and then allow the shell app to directly run the code. The engine which controls the shell maintains the state and decides when it is possible to use the shell code and when it is not.
The result is that the rapid features will remain and the runtime performance will be much higher.
It can also support features that are currently not implemented such as "immediate code window" and others.
However it also has a weakness which is related to the way it works. The debugger runtime performance is not good and in some cases it is just too slow.
Ever since the release of v3.00 I'm looking for solutions that will improve the performance.
I'm happy to say that in the next version the rapid debugger performance will be in most cases close to the performance of Release deployments (or the legacy debugger).
Like everything related to the rapid debugger the solution is quite complicated. Most developers are probably not familiar with the architecture of the rapid debugger. The rapid debugger is made of two components, the engine which runs on the PC and the shell app which runs on the device. The compiled code is in the engine. The engine sends commands to the shell app.
The change in the next version is to also include the compiled code in the shell app and then allow the shell app to directly run the code. The engine which controls the shell maintains the state and decides when it is possible to use the shell code and when it is not.
The result is that the rapid features will remain and the runtime performance will be much higher.