Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for watching multiple threads/goroutines simultaneously #123

Open
derekparker opened this issue May 3, 2015 · 3 comments
Open

Comments

@derekparker
Copy link
Member

This is more for discussion, and is kind of pie-in-the-sky, but since most Go programs are going to be highly parallel, the ability to split the terminal and show execution and source context of multiple threads or goroutines at the same time could be an interesting feature for debugging highly parallel programs.

Would like to open discussion on this, and get thoughts back.

/cc @pnasrat @ironcladlou @epipho @pmorie

@pmorie
Copy link

pmorie commented May 3, 2015

Think about this a little it seems possible that you could easily hit the
same breakpoint in different goroutines. What then?
On Sun, May 3, 2015 at 1:03 PM Derek Parker [email protected]
wrote:

This is more for discussion, and is kind of pie-in-the-sky, but since most
Go programs are going to be highly parallel, the ability to split the
terminal and show execution and source context of multiple threads or
goroutines at the same time could be an interesting feature for debugging
highly parallel programs.

Would like to open discussion on this, and get thoughts back.

/cc @pnasrat https://github.com/pnasrat @ironcladlou
https://github.com/ironcladlou @epipho https://github.com/epipho
@pmorie https://github.com/pmorie


Reply to this email directly or view it on GitHub
https://github.com/derekparker/delve/issues/123.

@au-phiware
Copy link

If you're talking about splitting the terminal then it would be nice to see a tree of goroutines in a side panel, and a tree of packages, and a stacktrace, etc.

@rogpeppe
Copy link

rogpeppe commented Jun 1, 2019

As another thought perhaps related to this: if I'm single-stepping a program with multiple goroutines, I often don't want started goroutines to continue - I would like to be able to decide which goroutines to step at any moment. Currently, to do this, I have to add a breakpoint to the start of any code that might be started in a goroutine, which can be hard if a go statement is calling a dynamic function.

I'd like to see a mode where any goroutines started from the goroutine currently being stepped are left halted until I decide to step them too.

nclifton pushed a commit to nclifton/delve that referenced this issue Feb 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants