upvote
I frequently use the go debugger to debug concurrent go routines. I haven’t found it any different than single threaded debugging.

I simply use conditional break points to break when whatever go routine happens to be working on the struct I care about.

Is there more to the issue?

reply
Thinking back, the issue I had with multi-threaded code was two-fold:

- Things like "continue", "step" are no longer a faithful reproduction of what the program does in real time, so it's more difficult to understand the program's behavior. Some timing-related bugs simplify disappear under a debugger.

- There's usually some background thread that's logging things to console, which reduces to problem 2 in my comment.

I haven't used Go that much. I imagine since goroutines are such a cornerstone of the language, the go debugger must have some nifty features to support multi-(green)-threaded debugging?

reply