diff options
author | Greg Clayton <gclayton@apple.com> | 2018-08-16 17:59:38 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2018-08-16 17:59:38 +0000 |
commit | 2f5cf8511a3f0ad97db2acf51c6c9ea0ddc9da92 (patch) | |
tree | 43ad29bf650e6570830784ff0aa4cfc2ccab5807 /lldb/tools/lldb-vscode/FunctionBreakpoint.cpp | |
parent | cecc9f5828615c07192a31c7ba8cfda5d26f3cfc (diff) | |
download | bcm5719-llvm-2f5cf8511a3f0ad97db2acf51c6c9ea0ddc9da92.tar.gz bcm5719-llvm-2f5cf8511a3f0ad97db2acf51c6c9ea0ddc9da92.zip |
Add a new tool named "lldb-vscode" that implements the Visual Studio Code Debug Adaptor Protocol
This patch adds a new lldb-vscode tool that speaks the Microsoft Visual Studio Code debug adaptor protocol. It has full unit tests that test all packets.
This tool can be easily packaged up into a native extension and used with Visual Studio Code, and it can also be used by Nuclide
Differential Revision: https://reviews.llvm.org/D50365
llvm-svn: 339911
Diffstat (limited to 'lldb/tools/lldb-vscode/FunctionBreakpoint.cpp')
-rw-r--r-- | lldb/tools/lldb-vscode/FunctionBreakpoint.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lldb/tools/lldb-vscode/FunctionBreakpoint.cpp b/lldb/tools/lldb-vscode/FunctionBreakpoint.cpp new file mode 100644 index 00000000000..f83333dc989 --- /dev/null +++ b/lldb/tools/lldb-vscode/FunctionBreakpoint.cpp @@ -0,0 +1,28 @@ +//===-- FunctionBreakpoint.cpp ----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "FunctionBreakpoint.h" +#include "VSCode.h" + +namespace lldb_vscode { + +FunctionBreakpoint::FunctionBreakpoint(const llvm::json::Object &obj) + : BreakpointBase(obj), functionName(GetString(obj, "name")) {} + +void FunctionBreakpoint::SetBreakpoint() { + if (functionName.empty()) + return; + bp = g_vsc.target.BreakpointCreateByName(functionName.c_str()); + if (!condition.empty()) + SetCondition(); + if (!hitCondition.empty()) + SetHitCondition(); +} + +} |