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.
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.
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.
A I missing something? Which post? What’s the feature?
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?
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
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.
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
Thanks for the tip! See my reply to CLee
Come over to the wonderful world of !csharp@programming.dev. Us dotnet nerds really take this kind of stuff for granted…
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.
I’m sorry, I think ik misinterpreted. To me it sounds liken you could accomplish it with the evaluate expression context in the debugger
Thanks, noted.
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 rungdb 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
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
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.
Yes, visual studio lets you do this. You can drag the marker on the line of code that it’s paused at, and move it around. There’s probably restrictions, however it works in most simple cases.
A link here indicates that it’s also possible in VS Code, however it may be C#/C++ only.
You can drag the marker on the line of code that it’s paused at, and move it around.
That is not the feature I described, though. I’m aware of CTRL + SHIFT + F10, but the feature description is basically a simple way to automate setting the next statement.
Be honest: Is there an issue with the representation of the page or did you skip those parts?
It would be handy if I needed it in a loop that was going to repeat many times.
For most cases, I wonder if setting it up would take more time than hitting the brakepoint and moving the pointer manually.
I already rarely use conditional breakpoints for the same reason.
I already rarely use conditional breakpoints for the same reason.
I feel you. It’s annoying how the good stuff for debugging is hidden in some crappy menus in VS and IntelliJ by default.
About detour points: The second and third version shown in my post would be one keystroke. The first one is probably not worth it, unless they could be set in some sort of modal workflow, similar how setting tabbing order works for Windows Forms.
Ah, I see. I didn’t see the bit about it being a breakpoint (detour point?). That’s what I get for skim reading rather than comprehending it. Visual studio will let you do this, but it’s a manual step, by combining a normal breakpoint and an execute next statement, and you’d have to do this each time you hit the breakpoint.
Having it happen automatically? A fairly niche feature, but I can see a few uses for it. The component features are already there, so I don’t think it would be difficult to implement in a debugger that already supported execute next statement.
Visual studio attached to Internet Explorer was able to do this with JavaScript too. I miss that feature in chrome/VSCode.