[Lldb-commits] [lldb] r254931 - Fix watchpoint check to use watchpoint ranges
Ted Woodward via lldb-commits
lldb-commits at lists.llvm.org
Mon Dec 7 11:38:58 PST 2015
Author: ted
Date: Mon Dec 7 13:38:58 2015
New Revision: 254931
URL: http://llvm.org/viewvc/llvm-project?rev=254931&view=rev
Log:
Fix watchpoint check to use watchpoint ranges
Summary: Watchpoints, unlike breakpoints, have an address range. This patch changes WatchpointList::FindByAddress() to match on any address in the watchpoint range, instead of only matching on the watchpoint's base address.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D14932
Modified:
lldb/trunk/source/Breakpoint/WatchpointList.cpp
Modified: lldb/trunk/source/Breakpoint/WatchpointList.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Breakpoint/WatchpointList.cpp?rev=254931&r1=254930&r2=254931&view=diff
==============================================================================
--- lldb/trunk/source/Breakpoint/WatchpointList.cpp (original)
+++ lldb/trunk/source/Breakpoint/WatchpointList.cpp Mon Dec 7 13:38:58 2015
@@ -75,10 +75,15 @@ WatchpointList::FindByAddress (lldb::add
{
wp_collection::const_iterator pos, end = m_watchpoints.end();
for (pos = m_watchpoints.begin(); pos != end; ++pos)
- if ((*pos)->GetLoadAddress() == addr) {
+ {
+ lldb::addr_t wp_addr = (*pos)->GetLoadAddress();
+ uint32_t wp_bytesize = (*pos)->GetByteSize();
+ if ((wp_addr <= addr) && ((wp_addr + wp_bytesize) > addr))
+ {
wp_sp = *pos;
break;
}
+ }
}
return wp_sp;
More information about the lldb-commits
mailing list