HomePhabricator

[Windows] Add support of watchpoints to `ProcessWindows`

Authored by aleksandr.urakov on Sep 5 2019, 10:37 PM.

Description

[Windows] Add support of watchpoints to ProcessWindows

Summary:
This patch adds support of watchpoints to the old ProcessWindows plugin.

The ProcessWindows plugin uses the RegisterContext to set and reset
watchpoints. The RegisterContext has some interface to access watchpoints,
but it is very limited (e.g. it is impossible to retrieve the last triggered
watchpoint with it), that's why I have implemented a slightly different
interface in the RegisterContextWindows. Moreover, I have made the
ProcessWindows plugin responsible for search of a vacant watchpoint slot,
because watchpoints exist per-process (not per-thread), then we can place
the same watchpoint in the same slot in different threads. With this scheme
threads don't need to have their own watchpoint lists, and it simplifies
identifying of the last triggered watchpoint.

Reviewers: asmith, stella.stamenova, amccarth

Reviewed By: amccarth

Subscribers: labath, zturner, leonid.mashinskiy, abidh, JDevlieghere, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D67168

llvm-svn: 371166

Details

Committed
aleksandr.urakovSep 5 2019, 10:37 PM
Reviewer
amccarth
Differential Revision
D67168: [Windows] Add support of watchpoints to `ProcessWindows`
Parents
rGdfacf8851e93: Fix rL371162 again
Branches
Unknown
Tags
Unknown