Wish yellow hithlighing in rapid debug

ajk

Active Member
Licensed User
Longtime User
Is it possible to highlight the line where program stops in rapid debug mode?
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
It should be highlighted:

SS-2018-02-05_08.41.28.png
 

ajk

Active Member
Licensed User
Longtime User
My previous post was not precise. I mean when program stops as result of error. In rapid it shows the number of line where error occur but not highlight it. In legacy it highlights that line in yellow.

Moreover it quite often do not show proper line of error like on the image: log show different line than editor.
 

Attachments

  • err.png
    err.png
    11.8 KB · Views: 186
Last edited:

ajk

Active Member
Licensed User
Longtime User
Unfortunatelymy backups do not cover the version of app I have used to make the screen copy. Next similar situation will be pasted here including all lines.
 

ac9ts

Active Member
Licensed User
Longtime User
This is something I've wanted for a long time as well. Here's a simplified example.

Using this code:
B4X:
#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.
 

Attachments

  • Break.jpg
    Break.jpg
    22.7 KB · Views: 325

ajk

Active Member
Licensed User
Longtime User
In fact I was rather about highlighting line when error occur in rapid debug and consistency between lines reported in log and in IDE window, then adding ability to continue debugging with "on-the-fly" code correction. This option could be very useful, but up to my knowledge - much more complicated to implement.
 
Top