Added a way to set hardware breakpoints from the "breakpoint set" command with the new "--hardware" option. Hardware breakpoints are not a request, they currently are a requirement. So when breakpoints are specified as hardware breakpoints, they might fail to be set when they are able to be resolved and should be used sparingly. This is currently hooked up for GDB remote debugging. Linux and FreeBSD should quickly enable this feature if possible, or return an error for any breakpoints that are hardware breakpoint sites in the "virtual Error Process::EnableBreakpointSite (BreakpointSite *bp_site);" function. llvm-svn: 192491
49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
//===-- StoppointLocation.cpp -----------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/Breakpoint/StoppointLocation.h"
|
|
|
|
// C Includes
|
|
// C++ Includes
|
|
// Other libraries and framework includes
|
|
// Project includes
|
|
|
|
using namespace lldb;
|
|
using namespace lldb_private;
|
|
|
|
//----------------------------------------------------------------------
|
|
// StoppointLocation constructor
|
|
//----------------------------------------------------------------------
|
|
StoppointLocation::StoppointLocation (break_id_t bid, addr_t addr, bool hardware) :
|
|
m_loc_id(bid),
|
|
m_addr(addr),
|
|
m_hardware(hardware),
|
|
m_hardware_index(LLDB_INVALID_INDEX32),
|
|
m_byte_size(0),
|
|
m_hit_count(0)
|
|
{
|
|
}
|
|
|
|
StoppointLocation::StoppointLocation (break_id_t bid, addr_t addr, uint32_t byte_size, bool hardware) :
|
|
m_loc_id(bid),
|
|
m_addr(addr),
|
|
m_hardware(hardware),
|
|
m_hardware_index(LLDB_INVALID_INDEX32),
|
|
m_byte_size(byte_size),
|
|
m_hit_count(0)
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------
|
|
// Destructor
|
|
//----------------------------------------------------------------------
|
|
StoppointLocation::~StoppointLocation()
|
|
{
|
|
}
|