Hi, has anybody of you ever seen a feature as described in the post in your environment?

Thank you

Update: As some readers appear to have skimmed the text, please feel free to point out possible accessibility issues, poor choices of words, etc.

  • bad_alloc@feddit.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Turns out it exists in gdb, although in a limited scope!

    #include <iostream>
    
    int main() {
      int a = 0;
      std::cout << "before: " << a << std::endl;
      a += 1;
      std::cout << "after: " << a << std::endl;
      return 0;
    }
    

    Compile with g++ -g and run gdb a.out

    (gdb) run
    before: 0
    after: 1
    [Inferior 1 (process 10976) exited normally]
    (gdb) break 1
    Breakpoint 1 at 0x5555555551d5: file main.cpp, line 6.
    (gdb) run
    Breakpoint 1, main () at main.cpp:6
    6	  int a = 0;
    (gdb) jump +3
    Continuing at 0x55555555521b.
    after: 0
    [Inferior 1 (process 10979) exited normally]
    

    See here for documentation

    • zygo_histo_morpheus@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Many debuggers have a set next statement kind type of functionality, but with gdb you can script it so that it performs the jump automatically, like the article suggests:

      break 1
      commands
      jump +3
      end
      
      • TheCee@programming.devOP
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        That’s pretty cool. I always wondered why gdb has a scripting interface, now I’m curious what other cool user scripts one can do through it.