Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 03:40 27 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Please welcome the newest MMBasic sibling to the family!

     Page 2 of 2    
Author Message
EDNEDN
Senior Member

Joined: 18/02/2023
Location: United States
Posts: 118
Posted: 01:27pm 03 Dec 2023
Copy link to clipboard 
Print this post

@tom_g

OK...  

Give me a couple of days...  

And I should have those two things done for you.
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 01:44pm 03 Dec 2023
Copy link to clipboard 
Print this post

"Break on value" for a watch variable is something I have found useful ("=", "<", ">"). For instance, in a loop, if things go wrong somewhere 2/3rds of the way through a FOR loop, being able to break when the loop counter gets to the range implicated can aid in determining where the problem is--or if a watched variable suddenly shoots to an invalid range.

I don't see that this involves any additional hooks in the underlying MMBasic code.

Thanks for your continuing efforts with this debugger.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
EDNEDN
Senior Member

Joined: 18/02/2023
Location: United States
Posts: 118
Posted: 02:28pm 03 Dec 2023
Copy link to clipboard 
Print this post

  lizby said  "Break on value" for a watch variable is something I have found useful ("=", "<", ">").


Yes!  Agreed.   Let me start thinking about the cleanest way to do this so it executes fast (and doesn't shift the timing of the MMBasic program).
Edited 2023-12-04 00:29 by EDNEDN
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 03:33pm 03 Dec 2023
Copy link to clipboard 
Print this post

Excellent. This would also allow the use of a hardware button to enable a break: the programmer reads the value of a pin into a variable, puts a watch and break on the variable, and then can push a button to cause a break.

Perhaps without too much trouble a "watch on pin" could be added, so a change from 1 to 0 on an input pin could cause a break without any variable needing to be read into. This could initiate a break no matter where in the code the program is.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
tom_g
Newbie

Joined: 21/02/2023
Location: Switzerland
Posts: 16
Posted: 05:15pm 03 Dec 2023
Copy link to clipboard 
Print this post

Hi EDNEDN,

take your time as needed !

Eager to test the next update :-)

Thomas
 
EDNEDN
Senior Member

Joined: 18/02/2023
Location: United States
Posts: 118
Posted: 03:10am 10 Dec 2023
Copy link to clipboard 
Print this post

@tom_g

Here is an updated MMDebug.uf2 file for you to check out.    It allows the user to declutter the Watch List area of the screen and it allows a quick way to jump to any part of your MMBasic program.

To remove a single Watch List element, you just click on the variable name.   To remove the entire Watch List click just below the variable name of the very last item in the watch list.   (Click where the next Watch List variable would be added if one more were to be added.)

To move the Display Window for the MMBasic code you are debugging, just enter the line number you want the display to start at and press Enter.   Backspace is respected if you fat-finger the keyboard.   But no other line editing is performed.

Please let me know if this helps with your debugging sessions.


MMDebug.zip


Next...   I'll start work to get @lizby 's suggestions implemented.
Edited 2023-12-11 00:21 by EDNEDN
 
tom_g
Newbie

Joined: 21/02/2023
Location: Switzerland
Posts: 16
Posted: 07:23pm 11 Dec 2023
Copy link to clipboard 
Print this post

Good evening EDNEDN,

thanks so much for the new features, which are important enhancements !

First functional test works seamlessly

* erasing single selected watch variables as well as all together
* pointing to debug line, centering it to the debug screen, is fast, comfortable formless entry of line of interest

I will collect possible glitches and report experiences with present functionality after some debugging OK ?

Best regards, Thomas
 
EDNEDN
Senior Member

Joined: 18/02/2023
Location: United States
Posts: 118
Posted: 01:35am 12 Dec 2023
Copy link to clipboard 
Print this post

  tom_g said  
I will collect possible glitches and report experiences with present functionality after some debugging OK ?


Thank You!   Incidentally...  If you are doing a lot of Stepping, TeraTerm is able to refresh the debug window almost instantaneously.
 
     Page 2 of 2    
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024