This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
P1) Non-stop multi-threaded native debugging<snip>
I think using -thread-select to suspend a thread will have negative consequences to the MI-client. The -thread-select is used to change the protocol state before requesting data related to that thread. Adding the side-effect of suspending the thread, will force the client to add additional logic to avoid suspending threads accidentally as a result of attempting to read data. I think it would be much safer to use an explicit -exec-interrupt request (after a -thread-select) to suspend a thread. Note that either way GDB will have to handle and return an errors to requests for data (such as stack or expressions) while a selected thread is running. If a client sends a -exec-continue, I assume that whatever thread was selected last will still be selected. So a -stack-list-frames should result in an error.- The MI '-exec-interrupt' command shall stop all threads. This will always generate an 'EXEC-ASYNC-OUTPUT' record, even if all threads were already stopped. (This helps users handle the case where the thread stops of its own accord just as the user sends it an '-exec-interrupt' command.)
- The MI '-thread-select' command shall stop the thread selected, if it is running. The previously selected thread is left in its former state, either stopped or running. A '-thread-select' command shall always generate an 'EXEC-ASYNC-OUTPUT' record, even if the thread was already stopped.
P7) Non-stop multi-threaded multi-process native debugging<snip>
- MI shall provide a command to stop all the threads in a given process, and a command to resume all stopped threads in a given process.
Cheers, Pawel
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |