Android Question Debug (Legacy) vs. Debug (Rapid)


Licensed User
Longtime User
I've noticed a number of odd / inconsistent behaviors when attempting to use the Legacy Debugger vs. the Rapid Debugger.

Being "new" to B4A, I decided - as a general rule - to use the Rapid Debugger - as it appears to be the newest / best option. I've tried to read / understand the "architecture" differences - and I'm sure that's why things aren't working as I might expect - but I can't really can't understand "why".

For example, I downloaded the "Simple Alarm" example project - in order to try to better understand the activities / services model. When that sample project is run in the Legacy Debugger - it works as expected. (Connected to the Genymotion emulator.)

When it is run in the Rapid Debugger, the activity part works fine, and the service seems to get scheduled. But, at the designated alarm time, you get the following error:

** Activity (main) Pause, UserClosed = false **
** Service (alarmservice) Create **
** Service (alarmservice) Start **
An error occurred:
(Line: 13) End Sub
java.lang.Exception: Sub service_start signature does not match expected signature.
public static anywheresoftware.b4a.pc.RemoteObject throws java.lang.Exception

I'm "guessing" this has something to do with the Legacy Debugger actually sending / running the actual code in the emulator - but the Rapid Debugger running some type of pseudo-code in B4A?

Is there something I have mis-configured in my B4A setup? Or, as a beginner, should I simply stick with using the Legacy Debugger for now?