Lines Matching defs:bp_site
1617 m_breakpoint_site_list.ForEach([this](BreakpointSite *bp_site) -> void {
1618 // bp_site->SetEnabled(true);
1619 DisableBreakpointSite(bp_site);
1771 buf](BreakpointSite *bp_site) -> void {
1772 if (bp_site->GetType() == BreakpointSite::eSoftware) {
1776 if (bp_site->IntersectsRange(bp_addr, size, &intersect_addr,
1781 assert(opcode_offset + intersect_size <= bp_site->GetByteSize());
1784 bp_site->GetSavedOpcodeBytes() + opcode_offset,
1793 size_t Process::GetSoftwareBreakpointTrapOpcode(BreakpointSite *bp_site) {
1796 return platform_sp->GetSoftwareBreakpointTrapOpcode(GetTarget(), bp_site);
1800 Status Process::EnableSoftwareBreakpoint(BreakpointSite *bp_site) {
1802 assert(bp_site != nullptr);
1804 const addr_t bp_addr = bp_site->GetLoadAddress();
1807 bp_site->GetID(), (uint64_t)bp_addr);
1808 if (bp_site->IsEnabled()) {
1813 bp_site->GetID(), (uint64_t)bp_addr);
1823 const size_t bp_opcode_size = GetSoftwareBreakpointTrapOpcode(bp_site);
1831 const uint8_t *const bp_opcode_bytes = bp_site->GetTrapOpcodeBytes();
1840 if (DoReadMemory(bp_addr, bp_site->GetSavedOpcodeBytes(), bp_opcode_size,
1850 bp_site->SetEnabled(true);
1851 bp_site->SetType(BreakpointSite::eSoftware);
1855 bp_site->GetID(), (uint64_t)bp_addr);
1872 bp_site->GetID(), (uint64_t)bp_addr, error.AsCString());
1876 Status Process::DisableSoftwareBreakpoint(BreakpointSite *bp_site) {
1878 assert(bp_site != nullptr);
1880 addr_t bp_addr = bp_site->GetLoadAddress();
1881 lldb::user_id_t breakID = bp_site->GetID();
1887 if (bp_site->IsHardware()) {
1889 } else if (bp_site->IsEnabled()) {
1890 const size_t break_op_size = bp_site->GetByteSize();
1891 const uint8_t *const break_op = bp_site->GetTrapOpcodeBytes();
1907 if (DoWriteMemory(bp_addr, bp_site->GetSavedOpcodeBytes(),
1928 if (::memcmp(bp_site->GetSavedOpcodeBytes(), verify_opcode,
1931 bp_site->SetEnabled(false);
1935 bp_site->GetID(), (uint64_t)bp_addr);
1954 bp_site->GetID(), (uint64_t)bp_addr);
1962 bp_site->GetID(), (uint64_t)bp_addr, error.AsCString());