[debugger] Implementing step through multithreaded code. #33062
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
!! This PR is a copy of mono/mono#19103, please do not edit or review it in this repo !!
Do not automatically approve this PR:
* Consider how the changes affect configurations in this repo,
* Check effects on files that are not mirrored,
* Identify test cases that may be needed in this repo.
!! Merge the PR only after the original PR is merged !!
I've changed the variable the_ss_req to an array, in this array I saved all the single steps requisitions received and whenever the debugger stops in a possible singles step I get the right requisition in the array and answer it.
It is necessary to change debugger-libs together, because we can send a single step for thread A and receive an answer of thread B, so we shouldn't cancel the single step requisition for thread A, because it wasn't answered yet.
If the change in debugger-libs is not synchronised together if mono we will not have any side effect, the multithreaded step just don't work as nowadays.
Fixes mono/mono#14456