Author Topic: [dev build] $DEBUG mode ✨ VARIABLE WATCHING! ✨ Mega Update Pack  (Read 2388 times)

0 Members and 1 Guest are viewing this topic.

Offline Richard

  • Seasoned Forum Regular
  • Posts: 366
Re: [dev build] $DEBUG mode
« Reply #105 on: July 21, 2021, 11:09:59 PM »
@FellippeHeitor


5cbe6d8 dev build

What is the significance of the white(grey) dot in the breakpoint flag

 


Are you making red dominos as a sideline? :)


Feature request

prevent invalid lines being able to have breakpoints, e.g.

blank lines
comment lines
metacommands
constants
(any thing else you decide invalid)



Offline FellippeHeitor

  • QB64 Developer
  • Forum Resident
  • Posts: 3077
  • Let it go, this too shall pass.
    • QB64.org
Re: [dev build] $DEBUG mode
« Reply #106 on: July 21, 2021, 11:23:33 PM »
A red dot is typically used to indicate a breakpoint; although I already had the background turn red, I still felt the dot was called for.

Also, since now by shift+clicking you set a line to be skipped, and the indicator is a yellow "!", it felt weird not having some visual clue that a breakpoint was set too.

 


Regarding lines that shouldn't have a breakpoint... I'll leave that to the programmer's judgement. When a "forbidden" line doesn't "pause" even with a breakpoint set, I suppose the message will have been delivered. 😉

Offline Richard

  • Seasoned Forum Regular
  • Posts: 366
Re: [dev build] $DEBUG mode
« Reply #107 on: July 21, 2021, 11:45:06 PM »
@FellippeHeitor

5cbe6d8 dev

This does not really matter to me, but for your info when the IDE can display 31 code lines but have a shorter program, the auto-scrolling (centering the focused line) "kicks-in" when there is no need to "kick-in"


 



 


No drama either way (or need to change your work).

Offline FellippeHeitor

  • QB64 Developer
  • Forum Resident
  • Posts: 3077
  • Let it go, this too shall pass.
    • QB64.org
Re: [dev build] $DEBUG mode
« Reply #108 on: July 21, 2021, 11:54:00 PM »
Noted, and it makes sense that it doesn't scroll in that case. Thanks for reporting.

Offline FellippeHeitor

  • QB64 Developer
  • Forum Resident
  • Posts: 3077
  • Let it go, this too shall pass.
    • QB64.org
Re: [dev build] $DEBUG mode
« Reply #109 on: July 21, 2021, 11:55:16 PM »
Did you guys try right-clicking the code area already?

 

Offline Richard

  • Seasoned Forum Regular
  • Posts: 366
Re: [dev build] $DEBUG mode
« Reply #110 on: July 22, 2021, 12:25:37 AM »
@FellippeHeitor

5cbe6d8 dev

Tried right click (and menu as per your sample pops up).

Confusion (for me)...

Shift + Left-click   gives me  ! orange (not yellow) !

Ctrl + G  does not show anything in the same column as the "red dot" and "yellow !"  - is a "Yellow !" supposed to display with Ctrl G (which always want to work upon the HIGHLIGHTED line).


Shift +left-click DOES NOT work on the highlighted line (works where ever cursor is pointed otherwise  SOMETIMES)

as per screenshot I CANNOT  Shift+Left-click line 14 (or 2,6,9,16) at all - what results is line 14 becomes highlighted

If I Shift left-click already "yellow !" lines then it "un yellow !" that lines and then it allows me to "yellow !" those lines 14,2,6,9,16



 



and after all that above, if I Ctrl G (and enter for line 2) no indicator is displayed in same column as "red dot" and "yellow !"

Hope you can interpreted the description above of what is happening (else it may have to be many screenshots)


« Last Edit: July 22, 2021, 12:38:31 AM by Richard »

Offline FellippeHeitor

  • QB64 Developer
  • Forum Resident
  • Posts: 3077
  • Let it go, this too shall pass.
    • QB64.org
Re: [dev build] $DEBUG mode
« Reply #111 on: July 22, 2021, 01:09:51 AM »
Colors will vary according to your current color scheme. That's why the symbol is there.

A line with an exclamation point will be skipped when you are running your program in debug mode.
To mark a line for skipping, you shift+click the line number on the side bar. Shift+click again to remove the "!", or regular click to set a breakpoint instead (these are mutually exclusive).

Ctrl+G in Debug mode is supposed to "Set Next Line". In your screenshot, the execution pointer (the green arrow) indicates that the next line that will be run when you hit F8 is line 17. If instead of running line 17 you want to move execution to lines 18 or 19 (notice you can only change the execution pointer inside the current procedure), you can either (i) right click the desired line and choose "Set Next Line" or you can (ii) hit Ctrl+G, enter the desired line and hit Enter to confirm.

In short: Ctrl+G has nothing to do with the exclamation points, which indicate lines that will be skipped/not run.

To mark a line for skipping, you Shift+Click **the line number on the side bar** - not the actual line of code.

Now, if I understand what you're saying, you imply that some lines being tagged for skipping prevent other lines from being tagged too? If so, I cannot really reproduce the issue and will need further details - can you make a short video?

 
« Last Edit: July 22, 2021, 01:11:10 AM by FellippeHeitor »

Offline Richard

  • Seasoned Forum Regular
  • Posts: 366
Re: [dev build] $DEBUG mode
« Reply #112 on: July 22, 2021, 01:31:42 AM »
@FellippeHeitor

Thanks for explanation (that makes sense now - though I will need to "digest" same).

I will "knock-up" a very short program (and supply in code box) and write down precisely the complete sequence of steps. I will take very heavily cropped screenshots (to save on memory) and to help clarify (as I do not know how to make an effective video - though at one time I did make a file that was like a photo viewer which displayed a still picture from a series of stills, say every 6 seconds).

In either case, based on what you said, I will try to double-check my steps - so as to ensure that the cursor is in the proper region of the IDE, etc. There is always the possibility that my analysis/interpretation got tricked up.

This may take me a while - will get back to you ASAP

Offline Richard

  • Seasoned Forum Regular
  • Posts: 366
Re: [dev build] $DEBUG mode
« Reply #113 on: July 22, 2021, 02:09:06 AM »
@FellippeHeitor

Just a thought (if you have enough room)

Regarding the  right-click   resulting in the pop-up menu - suggestion also mention that


Set Skip (ignore) Line       Shift +  left-click       (side bar any line)

Toggle Breakpoint             F9 (high-lite line) or left-click (side bar any line)

Toggle Skip Line                Ctrl+P  or  Shift + left-click (side bar any line)
 

So F9 can be anywhere on highlighted only  code line (not just only the side bar)

A note for users is that tagging a line (breakpoint or skip) with left-click only when cursor in side bar.



Noticed that the skip lines have a color change to the vertical line separating IDE line number from code as well as the line number itself
« Last Edit: July 22, 2021, 02:17:45 AM by Richard »

Offline FellippeHeitor

  • QB64 Developer
  • Forum Resident
  • Posts: 3077
  • Let it go, this too shall pass.
    • QB64.org
Re: [dev build] $DEBUG mode
« Reply #114 on: July 22, 2021, 02:17:18 AM »
Enough for today, here's the latest patches (151d9c5):

$DEBUG:
- Programs that use CLEAR will work properly.

General:
- SUBs, Call Stack, Languages dialogs no longer take up the whole IDE window if there are only a few items to display.
- File->Open/Save dialogs should now properly allow navigation through folders.

Online RhoSigma

  • Seasoned Forum Regular
  • Posts: 477
Re: [dev build] $DEBUG mode
« Reply #115 on: July 22, 2021, 04:22:35 AM »
@FellippeHeitor, just got the latest 32bit build for a quick test.

On the first sight it seems to work for simple (linear) programs now, however got some new compiler errors with more complex programs. I'll start some deeper tests when back home from work to see if I can narrow it and also compare with the 64bit build...

BTW: My greatest respect to you, it's unbelievable what you've created from the ground in just a few days, the debugging features evolve so fast that it's hard to follow up :)
My Projects:   https://www.qb64.org/forum/index.php?topic=809
GuiTools - A graphic UI framework with support for multiple UI forms/windows in one program.
Libraries - Image processing/Data buffering/MD5/SHA2/LZW etc.
Bonus - Screen Blankers, QB64/Notepad++ setup pack

Offline luke

  • QB64 Developer
  • Seasoned Forum Regular
  • Posts: 288
Re: [dev build] $DEBUG mode
« Reply #116 on: July 22, 2021, 04:57:02 AM »
There's a known issue where user-defined types cause compilation errors in some circumstances, so you might be hitting that.

Offline Richard

  • Seasoned Forum Regular
  • Posts: 366
Re: [dev build] $DEBUG mode
« Reply #117 on: July 22, 2021, 05:02:56 AM »
@FellippeHeitor

151d9c5 dev build

The "Path Issue" appears (so far) to be perfectly working for me.

Tested on     C:\   Main drive    and    A:\  RAM drive

using the folders

C:\QB64-2021-07-22_151d9c5\
C:\QB64-2021-07-22_151d9c5\QB64\
A:\QB64-2021-07-22_151d9c5\
A:\QB64-2021-07-22_151d9c5\QB64\


Many thanks for your hard work and greatly appreciated.


« Last Edit: July 22, 2021, 05:04:40 AM by Richard »

Offline hanness

  • Forum Regular
  • Posts: 172
Re: [dev build] $DEBUG mode
« Reply #118 on: July 22, 2021, 12:38:31 PM »
Looking good. All the issues I noted yesterday are resolved in the 151d9c5 dev build with one exception, not related to debug mode...

When I open QB64 elevated, I still cannot drag and drop my .bas file onto the IDE. I consider that EXTREMELY minor because I can simply do a File > Open...

To summarize: Great job! This new functionality is greatly appreciated.

Offline FellippeHeitor

  • QB64 Developer
  • Forum Resident
  • Posts: 3077
  • Let it go, this too shall pass.
    • QB64.org
Re: [dev build] $DEBUG mode
« Reply #119 on: July 22, 2021, 01:02:24 PM »
Thank you very much for trying it out, @hanness. All feedback is taken into consideration.

When I open QB64 elevated, I still cannot drag and drop my .bas file onto the IDE. I consider that EXTREMELY minor because I can simply do a File > Open...

As I outlined the other day, that's a limitation imposed by the operating system, there's no bypassing it that I know of. Processes in different levels do not communicate for drag and drop.