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
    link
    fedilink
    English
    41 year ago

    Interesting idea! Although it seems to be very invasive. If it really detours code the breakpoint suddenly modifies execution. Most debuggers seem to bebuilt as pure measurement tools. And i have the feeling for good reason: Understanding when the code will be executed is a big part of debugging. And the need to detour suggests the code is poorly debuggable.

    • @TheCee@programming.devOP
      link
      fedilink
      English
      11 year ago

      And i have the feeling for good reason: Understanding when the code will be executed is a big part of debugging.

      True. If I forget the detour points from a previous debugging session, I’m going to have a bad time.

      And the need to detour suggests the code is poorly debuggable.

      Indeed. Unfortunately that’s nothing you get to choose, so, the more important are better tools.

    • @TheCee@programming.devOP
      link
      fedilink
      English
      31 year ago

      There is a link in the title of this post.

      Out of curiosity: Is this a discoverability issue? Have you browsed this from a non-lemmy instance or in an app?

      • @Lodra@programming.dev
        link
        fedilink
        English
        31 year ago

        Oh super interesting. I’m using Mlem and the title is not a link for me!

        Seems I should go search the github issues and see if it’s reported yet

        • @TheCee@programming.devOP
          link
          fedilink
          English
          1
          edit-2
          1 year ago

          Good idea. The lemmy UI isn’t quite done, either. When I posted this blog post it seemed to imply that you additionally can post an image. But then URI gets replaced by the image URI… So I can vaguely relate how the Mlem devs might have gotten confused.

    • @ollien@beehaw.org
      link
      fedilink
      English
      21 year ago

      The UI is a bit confusing here. This is a link post with a body. Click the title of the post to go to the linked blogpost

  • @bad_alloc
    link
    fedilink
    English
    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
      41 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
        31 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.

    • @TheCee@programming.devOP
      link
      fedilink
      English
      2
      edit-2
      1 year ago

      Actually I’ve been working with VS the last X years and I’m pretty sure dotnet doesn’t have this feature. Sure, you can set the next statement, but I wouldn’t know of a simple way to say ahead of starting a debug compile “Ye, I want to skip those lines and takes this branch.” Other than changing the source code, that is.