No announcement yet.

wish: more flexible debugger

  • Filter
  • Time
  • Show
Clear All
new posts

  • wish: more flexible debugger

    I have some suggestions for the debugger.

    - Resizable windows and better scrolling.
    Sometimes the information I want in the watch window is beyond
    the screen on the right. The source code window has a scroll
    bar, but the output doesn't. And I can't resize it either.
    Also, I can't scroll up and down with the scroll bar. In the
    current version I can only click on the up and down buttons.
    It's tedious to scroll through a large program that way.

    - Minimize button (on the top right)
    I may need to go launch another program without unloading
    the debugger. Currently only an X button is available.
    There are ways around it, but their not convenient.

    - Allow register variables to be monitored.
    It seems like register variables always stay at 0 in the watch
    window. I think someone else mentioned this in one of the
    forums. Register variables are fast, but speed is not too
    important when debugging. So that can be turned off for debugging.

    - Button for stepping out of a loop
    There's a button to step out of a function. It would be nice
    if there were a button to step out of a loop w/o exiting the
    whole function.

    - Add button for Run to Cursor
    I later realized that I can step out of a loop by selecting
    Run to Cursor from the menu. It would be nice to place a button
    for it so that I don't have to open the menu each time.

    - A button to watch the stack.
    VB has something like this which looks pretty interesting.
    (I don't have an immediate use for it, but I can see how it
    can be useful later on).

    - Support for evaluating expressions. Not just variables.
    For instance, it would be nice if I can add a watch for
    Mid$(text$, 25, 3)

    Daniel Corbier
    UCalc Fast Math Parser
    Daniel Corbier
    uCalc Fast Math Parser
    uCalc Language Builder

  • #2
    Excellent suggestions. Duly noted. Thanks!

    Tom Hanlin
    PowerBASIC Staff


    • #3
      I've been using the debugger more often lately, and I have a few
      more comments/suggestions.

      - I wasn't able to view values from pointer arrays in the Watch
      window. For instance I can't watch something like @PtrArray(0).
      (I can view a pointer value, such as @Ptr, and a pointer index,
      like @Ptr[0], and a pointer address, Ptr, but I can't view a
      pointer array value. I need this also).

      - I'd like a way to watch a range of values from an array
      (without manually adding an entry for each element).
      I can accomplish this by using $Debug Print in a For-Next
      loop. But a limitation brings me to the next wish.

      - In addition to making the window at the bottom resizable,
      I want to be able paste the contents from that window (and
      the watch window as well) to the clipboard when necessary.

      - If I place $Debug Print in a for next loop, it seems like
      it prints many blank lines before printing the debug lines
      at the very end. It would be better without the blank lines.

      - I'd like to scroll with PageUp/PageDown in the Debug window
      at the bottom. I can at least scroll up & down that way in the
      source code box even if it's a bit tedious. But I can't even
      do that much in the bottom window, and it's so small.

      - Context sensitive help for the debugger with F1 would be nice.
      I was going to suggest Debug.Print like VB. It's afterwards
      that I discovered that it does exist. F1 would have saved some
      time in learning about PB's $Debug Print. It's not too obvious
      in the main help file either. "Debug" turns up nothing in the
      help index, unless I put a $ in front.

      Daniel Corbier
      UCalc Fast Math Parser
      Daniel Corbier
      uCalc Fast Math Parser
      uCalc Language Builder


      • #4
        ...And be able to see the contents of an Array!!!

        VB did this with a tree view in the debugger.
        When implementing encryption and compression algorithms it's necessary to check the data through an entire iteration to see at what point bugs are corrupting the data.
        Also being able to open a UDT array is good for debugging DB apps etc.


        Paul Dwyer
        Network Engineer
        Aussie in Tokyo
        (Paul282 at VB-World)


        • #5
          How about adding and removing variables from the watch list by using
          the mouse? Double-clicking on a variable in the program would add it
          and the same action in the watch list would remove it. Also the ability
          to 'drag' the variables to re-order them in the watch list.


          [email protected]
          :) IRC :)


          • #6
            How about only updating watched variables when they are modified? The current debugger is
            SOOOOOO slow it to step when viewing more than 2 or 3 variables.

            And a clear all watch variables would be nice too.


            John Kovacich

            John Kovacich
            Ivory Tower Software


            • #7
              I have to agree with John on this one. I've had PB/DLL 6 for six
              months now and the debugger is the hardest thing I had to get
              used to. Adding more than 3 or 4 watch variables is painfull
              when you are stepping through the code and waiting for them to

              After using VB for the past few years I guess I have gotten a
              little used to their debugger and the ease of use.

              All in all, my expectations of PB/DLL have been surpassed. I
              would not trade it for the world.

              Paul Squires
              [email protected]
              Paul Squires
              FireFly Visual Designer (for PowerBASIC Windows 10+)
              Version 3 now available.


              • #8
                No fear, there will be future versions! Your suggestions are appreciated
                and we'll do our best to make them happen.

                Tom Hanlin
                PowerBASIC Staff