-
Notifications
You must be signed in to change notification settings - Fork 49
Description
I'd like to understand a little more about the background of why we call things like pauseIfNeeded for non-stop mode.
If I understand correctly, one of the characteristics of non-stop mode is that it allows more commands/operations when one or more threads are running?
Wouldn't it be responsibility of the gdbserver/stub to react appropriately when it can't do something while the target is running?
One worry is that we artificially suppress capabilities of a non-stop GDB (remote) session that may vary from stub to stub/gdb server to gdb server.
Also, depending on your debug target, and as mentioned by others before, unnecessarily pausing the target system may have undesired side effects up to physical damage.
In a first step, I'd like to understand reasons for the status quo and if there is room to change the behavior unconditionally. Of course, we can always add a new config setting to be less rigorous about pausing. Which we then should consider for both non-stop and all-stop modes (basically, GDB and a remote target tell us what they can do in that situation). Appreciate, that our error handling may not be ready for such a change right now.
@jonahgraham , can you help with some background here?