diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp --- a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp +++ b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp @@ -683,6 +683,9 @@ } Status ProcessFreeBSD::EnableBreakpointSite(BreakpointSite *bp_site) { + if (bp_site->HardwareRequired()) + return Status("Hardware breakpoints are not supported."); + return EnableSoftwareBreakpoint(bp_site); } diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp @@ -644,6 +644,9 @@ } Status ProcessKDP::EnableBreakpointSite(BreakpointSite *bp_site) { + if (bp_site->HardwareRequired()) + return Status("Hardware breakpoints are not supported."); + if (m_comm.LocalBreakpointsAreSupported()) { Status error; if (!bp_site->IsEnabled()) { diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp --- a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp +++ b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp @@ -150,6 +150,9 @@ uint32_t ProcessWindows::GetPluginVersion() { return 1; } Status ProcessWindows::EnableBreakpointSite(BreakpointSite *bp_site) { + if (bp_site->HardwareRequired()) + return Status("Hardware breakpoints are not supported."); + Log *log = ProcessWindowsLog::GetLogIfAny(WINDOWS_LOG_BREAKPOINTS); LLDB_LOG(log, "bp_site = {0:x}, id={1}, addr={2:x}", bp_site, bp_site->GetID(), bp_site->GetLoadAddress());