1 //===-- ExceptionBreakpoint.cpp ---------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #include "ExceptionBreakpoint.h"
10 #include "BreakpointBase.h"
12 #include "lldb/API/SBTarget.h"
16 void ExceptionBreakpoint::SetBreakpoint() {
19 bool catch_value
= filter
.find("_catch") != std::string::npos
;
20 bool throw_value
= filter
.find("_throw") != std::string::npos
;
21 bp
= dap
.target
.BreakpointCreateForException(language
, catch_value
,
23 // See comments in BreakpointBase::GetBreakpointLabel() for details of why
24 // we add a label to our breakpoints.
25 bp
.AddName(BreakpointBase::GetBreakpointLabel());
28 void ExceptionBreakpoint::ClearBreakpoint() {
31 dap
.target
.BreakpointDelete(bp
.GetID());
32 bp
= lldb::SBBreakpoint();
35 } // namespace lldb_dap