This is something I've wanted for a long time as well. Here's a simplified example.
Using this code:
#Region Project Attributes
#ApplicationLabel: B4A Example
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim pnlMain As Panel
Dim btnBreakIt As Button
Dim lblTest As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
pnlMain.Initialize("")
Activity.AddView(pnlMain,0,0,100%x,100%y)
btnBreakIt.Initialize("BreakIt")
pnlMain.AddView(btnBreakIt, 40%x, 40%y, 20%x, 20%y)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub BreakIt_Click
' Will cause an error because it is not initialized
lblTest.Text = "Broken"
End Sub
With the rapid debugger, the program will crash and exit the debugger. The log will show the line number where the error occurred. You then set a break point, re-start the debug session, and have the ability to modify the code and try the changes.
With the Legacy debugger, execution stops at the error with the code and debugger still running. You can edit the code to fix the error but you can't apply the changes without breaking out, recompiling, and starting a new debug session.
The "Wish" is to have code execution stop at the error in Rapid mode so the code can be modified, saved, and execution can continue.
If there is only one error in your code, there's really no advantage of one over the other. If you are in the testing/bug finding phase, there could be many and they may come up at any time. If Rapid had the ability to stop at the random error, rather than crashing and exiting the debugger, that would combine the advantages of both debug modes.