summaryrefslogtreecommitdiffstats
path: root/lldb/tools/lldb-vscode/FunctionBreakpoint.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2018-08-16 17:59:38 +0000
committerGreg Clayton <gclayton@apple.com>2018-08-16 17:59:38 +0000
commit2f5cf8511a3f0ad97db2acf51c6c9ea0ddc9da92 (patch)
tree43ad29bf650e6570830784ff0aa4cfc2ccab5807 /lldb/tools/lldb-vscode/FunctionBreakpoint.cpp
parentcecc9f5828615c07192a31c7ba8cfda5d26f3cfc (diff)
downloadbcm5719-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.cpp28
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();
+}
+
+}
OpenPOWER on IntegriCloud