- cross-posted to:
- programming@lemmy.world
- cross-posted to:
- programming@lemmy.world
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
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.
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.