https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/110543
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -24,10 +24,10 @@
using namespace lldb;
using namespace lldb_private;
-BreakpointResolverName::BreakpointResolverName(const BreakpointSP &bkpt,
walter-erquinigo wrote:
Good catch, I didn't realize the formatter changes this file.
https://github.com/llvm/ll
@@ -797,6 +797,10 @@ void Module::LookupInfo::Prune(SymbolContextList &sc_list,
while (i < sc_list.GetSize()) {
if (!sc_list.GetContextAtIndex(i, sc))
break;
+ if (!lldb_private::Language::LanguageIsCFamily(sc.GetLanguage())) {
walter-erq
https://github.com/walter-erquinigo updated
https://github.com/llvm/llvm-project/pull/110543
>From 15132008232d446036a43a8ed3eed5883f80a2d5 Mon Sep 17 00:00:00 2001
From: walter erquinigo
Date: Mon, 30 Sep 2024 13:33:35 -0400
Subject: [PATCH] [LLDB] Fix symbol breakpoint lookups for non-C-like
https://github.com/walter-erquinigo updated
https://github.com/llvm/llvm-project/pull/110543
>From dcc5c787a7c146942fed66da5df01ef5a4401744 Mon Sep 17 00:00:00 2001
From: walter erquinigo
Date: Mon, 30 Sep 2024 13:33:35 -0400
Subject: [PATCH] [LLDB] Fix symbol breakpoint lookups for non-C-like
https://github.com/walter-erquinigo updated
https://github.com/llvm/llvm-project/pull/110543
>From d3aa6a3726224c51dc838dd72fef40e9520fd8de Mon Sep 17 00:00:00 2001
From: walter erquinigo
Date: Mon, 30 Sep 2024 13:33:35 -0400
Subject: [PATCH] [LLDB] Fix symbol breakpoint lookups for non-C-like
https://github.com/walter-erquinigo updated
https://github.com/llvm/llvm-project/pull/110543
>From f1088d6f159363086cb040783106ebf18130f645 Mon Sep 17 00:00:00 2001
From: walter erquinigo
Date: Mon, 30 Sep 2024 13:33:35 -0400
Subject: [PATCH] [LLDB] Fix symbol breakpoint lookups for non-C-like
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/110982
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/110987
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -1,16 +1,95 @@
-# LLDB-DAP
-
-The `lldb-dap` tool (formerly `lldb-vscode`) is a command line tool that
-implements the [Debug Adapter
-Protocol](https://microsoft.github.io/debug-adapter-protocol/). It can be
-installed as an extension for Visual Studio Code and other IDEs supp
https://github.com/walter-erquinigo approved this pull request.
beautiful
https://github.com/llvm/llvm-project/pull/110987
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
looks pretty good. Just a minor nit
https://github.com/llvm/llvm-project/pull/112384
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listin
@@ -1896,6 +1896,8 @@ void request_initialize(const llvm::json::Object
&request) {
cmd.AddCommand(
"repl-mode", new ReplModeRequestHandler(),
"Get or set the repl behavior of lldb-dap evaluation requests.");
+ cmd.AddCommand("custom-event", new CustomDAPEventReq
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/112384
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/115208
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo commented:
Besides everything mentioned by Pavel, this looks pretty good.
https://github.com/llvm/llvm-project/pull/115208
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mai
@@ -11,23 +11,28 @@
#define LLDB_TOOLS_LLDB_DAP_INSTRUCTIONBREAKPOINT_H
#include "Breakpoint.h"
+#include "DAPForward.h"
+
+#include "lldb/lldb-defines.h"
+#include "lldb/lldb-types.h"
+
+#include
namespace lldb_dap {
// Instruction Breakpoint
struct InstructionBreakpo
walter-erquinigo wrote:
> With these changes, and the fact that BreakpointBase has a DAP& member, the
> breakpoints cannot be copied.
I don't see that as a problem, but if at some point we need some more
flexibility, we should be able to use std::reference_wrapper to store the ref
and then a
https://github.com/walter-erquinigo approved this pull request.
accepting because it seems you addressed all of Pavel's issues
https://github.com/llvm/llvm-project/pull/115208
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm
@@ -11,23 +11,28 @@
#define LLDB_TOOLS_LLDB_DAP_INSTRUCTIONBREAKPOINT_H
#include "Breakpoint.h"
+#include "DAPForward.h"
+
+#include "lldb/lldb-defines.h"
+#include "lldb/lldb-types.h"
+
+#include
namespace lldb_dap {
// Instruction Breakpoint
struct InstructionBreakpo
@@ -0,0 +1,182 @@
+//===-- Socket.h *- C++
-*-===//
walter-erquinigo wrote:
Thanks for bringing this up. I think that ideally, we should be able to reuse
components from LLDB, like the `Host` library, as you point
@@ -32,35 +34,44 @@ using namespace lldb_dap;
namespace lldb_dap {
-DAP::DAP(llvm::StringRef path, ReplMode repl_mode)
-: debug_adaptor_path(path), broadcaster("lldb-dap"),
- exception_breakpoints(), focus_tid(LLDB_INVALID_THREAD_ID),
- stop_at_entry(false), is_
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/116272
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -5046,30 +5026,50 @@ int main(int argc, char *argv[]) {
pause();
}
#endif
+
+ // Initialize LLDB first before we do anything.
+ lldb::SBDebugger::Initialize();
+
+ // Terminate the debugger before the C++ destructor chain kicks in.
+ auto terminate_debugger =
+
@@ -4028,6 +4032,9 @@ void request_variables(DAP &dap, const llvm::json::Object
&request) {
dap.enable_synthetic_child_debugging,
/*is_name_duplicated=*/false, custom_name));
};
+ if (variable.GetType().IsPointerType() ||
variable.GetType().
@@ -4020,6 +4020,10 @@ void request_variables(DAP &dap, const
llvm::json::Object &request) {
std::optional custom_name = {}) {
if (!child.IsValid())
return;
+if (child.IsSynthetic() && (child.GetType().IsPointerType() ||
chi
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/118681
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -28,6 +23,70 @@ export class LLDBDapDescriptorFactory
return true;
}
+ static async findDAPExecutable(): Promise {
+let executable = "lldb-dap";
+if (process.platform === "win32") {
+ executable = "lldb-dap.exe";
+}
+
+// Prefer lldb-dap from Xco
@@ -28,6 +23,70 @@ export class LLDBDapDescriptorFactory
return true;
}
+ static async findDAPExecutable(): Promise {
+let executable = "lldb-dap";
+if (process.platform === "win32") {
+ executable = "lldb-dap.exe";
+}
+
+// Prefer lldb-dap from Xco
@@ -28,6 +23,70 @@ export class LLDBDapDescriptorFactory
return true;
}
+ static async findDAPExecutable(): Promise {
walter-erquinigo wrote:
This function is really not complex but a bit long. Can you split it into
smaller chunks?
https://github.com
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/118547
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
beautiful
https://github.com/llvm/llvm-project/pull/118547
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
walter-erquinigo wrote:
I imagine that your change does make sense, but it's really not strictly tied
to lldb-dap. It's more generic and it's about what happens when the expression
evaluator is invoked from SBFrame when the process is not stopped, right?
In any case, please reduce this PR to ju
walter-erquinigo wrote:
@ashgti , this looks very nice! It's good overall that we are able to reuse
some components and reduce the number of responsibilities in lldb-dap.
https://github.com/llvm/llvm-project/pull/120457
___
lldb-commits mailing list
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/120457
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
Thanks!!
https://github.com/llvm/llvm-project/pull/125347
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo commented:
This LGTM, but before merging, could you share more about the differences
between the these cases and the actual logic between this patch and the
previous attempt?
https://github.com/llvm/llvm-project/pull/125347
_
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/125347
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -140,6 +140,10 @@ Changes to LLDB
Therefore current implementation allows only 1 watchpoint, as tested with
Windows 11 on the Microsoft SQ2 and Snapdragon Elite X platforms.
+### Changes to lldb-dap
+
+* Breakpoints can now be set for specific columns within a line
@@ -28,6 +23,70 @@ export class LLDBDapDescriptorFactory
return true;
}
+ static async findDAPExecutable(): Promise {
+let executable = "lldb-dap";
+if (process.platform === "win32") {
+ executable = "lldb-dap.exe";
+}
walter-erquinigo
walter-erquinigo wrote:
You are a good person, @JDevlieghere
https://github.com/llvm/llvm-project/pull/118894
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -111,8 +111,10 @@ Error
RunInTerminalLauncherCommChannel::WaitUntilDebugAdaptorAttaches(
return message.takeError();
}
-Error RunInTerminalLauncherCommChannel::NotifyPid() {
- return m_io.SendJSON(RunInTerminalMessagePid(getpid()).ToJSON());
+Error RunInTerminalLaunch
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/121269
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo commented:
To be honest it's a bit hard to review this because I'm not versed in these low
level APIs, let along Windows. Could you make sure that your changes pass mac,
linux and windows CI? IIRC you can trigger manually buildbots if you want to
run custom
@@ -21,21 +23,22 @@ namespace lldb_dap {
/// The file is destroyed when the destructor is invoked.
struct FifoFile {
FifoFile(llvm::StringRef path);
+ FifoFile(llvm::StringRef path, FILE *f);
+ // FifoFile(llvm::StringRef path, FILE *f);
+ FifoFile(FifoFile &&other);
+
+
@@ -44,12 +44,16 @@ class ProgressEventData : public EventData {
uint64_t GetCompleted() const { return m_completed; }
uint64_t GetTotal() const { return m_total; }
std::string GetMessage() const {
-std::string message = m_title;
-if (!m_details.empty()) {
-
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/123826
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
sorry for the late review, this LGTM
I suggested refactoring main a bit. If you can do it, it would be great, but
all good if you don't. But next time we add more stuff to main, it would be
good simplify that function a bit
https:
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/116392
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -4952,6 +4895,29 @@ static int DuplicateFileDescriptor(int fd) {
#endif
}
+static llvm::Expected>
+validateConnection(llvm::StringRef conn) {
+ auto uri = lldb_private::URI::Parse(conn);
+
+ if (uri && (uri->scheme == "tcp" || uri->scheme == "connect" ||
+ !u
@@ -13,8 +13,8 @@
using namespace lldb_dap;
BreakpointBase::BreakpointBase(DAP &d, const llvm::json::Object &obj)
-: dap(d), condition(std::string(GetString(obj, "condition"))),
- hitCondition(std::string(GetString(obj, "hitCondition"))) {}
+: dap(d), condition(st
@@ -66,19 +70,17 @@ async function findDAPExecutable(): Promise {
}
async function getDAPExecutable(
- session: vscode.DebugSession,
+ folder: vscode.WorkspaceFolder | undefined,
walter-erquinigo wrote:
call this workspaceFolder because this is not any fold
walter-erquinigo wrote:
I have an idea for using lldb's process list logic, although it's a bit of code.
1. Don't use `"${command:pickProcess}"` at all. We need to bypass the regular
command logic. You could use a wildcard like `${pickProcess}`.
2. In the debug config resolution logic, which is
@@ -0,0 +1,110 @@
+//===-- MemoryMonitor.cpp
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,110 @@
+//===-- MemoryMonitor.cpp
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
https://github.com/walter-erquinigo approved this pull request.
all good then!
https://github.com/llvm/llvm-project/pull/129919
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/130773
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/129262
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/125843
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -517,6 +520,16 @@
"cwd": "^\"\\${workspaceRoot}\""
}
},
+ {
+"label": "LLDB: Attach to Process",
+"description": "",
+"body": {
+ "type": "lldb-dap",
+ "request": "atta
walter-erquinigo wrote:
@santhoshe447 , the VSCode folks can take up to several weeks to reply. In the
meantime, you can check the vscode repo https://github.com/microsoft/vscode for
usages of this request to learn more about what's going on.
https://github.com/llvm/llvm-project/pull/131820
_
@@ -0,0 +1,165 @@
+//===-- GoToTargetsRequestHandler.cpp
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -116,7 +116,22 @@ void DisassembleRequestHandler::operator()(
const auto inst_count =
GetInteger(arguments, "instructionCount").value_or(0);
- lldb::SBInstructionList insts = dap.target.ReadInstructions(addr,
inst_count);
+
+ std::string flavor_string{};
+ const
https://github.com/walter-erquinigo requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/134722
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -116,7 +116,22 @@ void DisassembleRequestHandler::operator()(
const auto inst_count =
GetInteger(arguments, "instructionCount").value_or(0);
- lldb::SBInstructionList insts = dap.target.ReadInstructions(addr,
inst_count);
+
+ std::string flavor_string{};
+ const
walter-erquinigo wrote:
Probably the default is Auto. I guess we should add an option in the typescript
code for selecting the mode.
And about `:`, I confused you because I set up my debugger to use `:` instead
of a backtick.
In this mode, I think it would be great to determine via a quick p
@@ -164,7 +164,8 @@ void EvaluateRequestHandler::operator()(
dap.focus_tid = frame.GetThread().GetThreadID();
}
auto result = RunLLDBCommandsVerbatim(dap.debugger, llvm::StringRef(),
- {std::string(expression)});
+
https://github.com/walter-erquinigo approved this pull request.
LGTM. Let's see if Jonas has more comments
https://github.com/llvm/llvm-project/pull/135008
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
https://github.com/walter-erquinigo edited
https://github.com/llvm/llvm-project/pull/135008
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/135544
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
walter-erquinigo wrote:
@da-viper , I'm a bit surprised by this. Which mode are you using for the
debug console?
I remember that in Variable mode (or whichever is the default), I was able to
type `:expr ` and that worked.
Is your problem occurring in the Auto mode? I think that in this case,
@@ -28,15 +28,12 @@ def test_completions(self):
self.set_source_breakpoints(source, [breakpoint1_line,
breakpoint2_line])
-self.assertEvaluate(
-"`command regex user_command s/^$/platform/", r"\(lldb\) command
regex"
-)
-self.asse
https://github.com/walter-erquinigo approved this pull request.
https://github.com/llvm/llvm-project/pull/129728
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
walter-erquinigo wrote:
Just throwing out some ideas that might simplify this.
Is it possible to do the launching and attaching in asynchronous mode so that
the stop events are always emitted?
Also, the configuration done event can be emitted at any time during
initialization. It could even b
901 - 974 of 974 matches
Mail list logo