[Lldb-commits] [lldb] [lldb] Support non-blocking reads in JSONRPCTransport (PR #144610)

2025-06-18 Thread John Harrison via lldb-commits
ashgti wrote: > @ashgti Do you think we would adopt non-blocking I/O in `lldb-dap`? Since > we're using separate threads there, we can afford using long timeouts, but > maybe we'd like to use the main loop there too with non-blocking I/O. If not, > and if I were to implement the non-blocking s

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-17 Thread John Harrison via lldb-commits
ashgti wrote: Reverted in #144616 I'll take a look at fixing the python3.10 compatibility issue in a new patch. https://github.com/llvm/llvm-project/pull/143818 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/

[Lldb-commits] [lldb] Revert "[lldb-dap] Refactoring DebugCommunication to improve test con… (PR #144616)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti closed https://github.com/llvm/llvm-project/pull/144616 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] Revert "[lldb-dap] Refactoring DebugCommunication to improve test con… (PR #144616)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti created https://github.com/llvm/llvm-project/pull/144616 …sistency. (#143818)" This reverts commit 362b9d78b4ee9107da2b5e90b3764b0f0fa610fe. Buildbots using python3.10 are running into errors from this change. >From 117982fb34200d307f9ce4c0e1907a441a05247e Mon Sep 17

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-17 Thread John Harrison via lldb-commits
ashgti wrote: Reverting this as it looks like python3.10 is giving an error with one of the TypedDict usages from this patch. https://github.com/llvm/llvm-project/pull/143818 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm

[Lldb-commits] [lldb] [lldb] Support non-blocking reads in JSONRPCTransport (PR #144610)

2025-06-17 Thread John Harrison via lldb-commits
@@ -67,19 +67,22 @@ ReadFull(IOObject &descriptor, size_t length, return data.substr(0, length); } -static Expected -ReadUntil(IOObject &descriptor, StringRef delimiter, - std::optional timeout = std::nullopt) { - std::string buffer; - buffer.reserve(delimiter.siz

[Lldb-commits] [lldb] [lldb] Support non-blocking reads in JSONRPCTransport (PR #144610)

2025-06-17 Thread John Harrison via lldb-commits
@@ -67,19 +67,22 @@ ReadFull(IOObject &descriptor, size_t length, return data.substr(0, length); } -static Expected -ReadUntil(IOObject &descriptor, StringRef delimiter, - std::optional timeout = std::nullopt) { - std::string buffer; - buffer.reserve(delimiter.siz

[Lldb-commits] [lldb] [lldb] Support non-blocking reads in JSONRPCTransport (PR #144610)

2025-06-17 Thread John Harrison via lldb-commits
@@ -142,13 +147,43 @@ TEST_F(JSONRPCTransportTest, Write) { } TEST_F(JSONRPCTransportTest, InvalidTransport) { - transport = std::make_unique(nullptr, nullptr); + transport = std::make_unique(nullptr, nullptr); ASSERT_THAT_EXPECTED( transport->Read(std::chrono::mil

[Lldb-commits] [lldb] [lldb] Support non-blocking reads in JSONRPCTransport (PR #144610)

2025-06-17 Thread John Harrison via lldb-commits
@@ -85,7 +85,8 @@ class JSONTransport { /// Reads the next message from the input stream. template - llvm::Expected Read(const std::chrono::microseconds &timeout) { + llvm::Expected + Read(std::optional timeout = std::nullopt) { ashgti wrote: Since th

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti closed https://github.com/llvm/llvm-project/pull/143818 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Splitting ProtocolTypesTest into parts. (PR #144595)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/144595 >From 212d503e9cde2c715b6f4d372ea3be8383a5fc1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Tue, 17 Jun 2025 13:10:07 -0700 Subject: [PATCH 1/3] [lldb-dap] Splitting ProtocolTypesTest into parts. Splitting

[Lldb-commits] [lldb] [lldb-dap] Splitting ProtocolTypesTest into parts. (PR #144595)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/144595 >From 212d503e9cde2c715b6f4d372ea3be8383a5fc1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Tue, 17 Jun 2025 13:10:07 -0700 Subject: [PATCH 1/2] [lldb-dap] Splitting ProtocolTypesTest into parts. Splitting

[Lldb-commits] [lldb] [lldb-dap] Splitting ProtocolTypesTest into parts. (PR #144595)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti created https://github.com/llvm/llvm-project/pull/144595 Splitting ProtocolTypesTest into separate files for ProtocolBase, ProtocolEvent, ProtocolRequests and ProtocolTypes. >From 212d503e9cde2c715b6f4d372ea3be8383a5fc1d Mon Sep 17 00:00:00 2001 From: John Harrison D

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -839,6 +839,43 @@ bool fromJSON(const llvm::json::Value &, DisassembleResponseBody &, llvm::json::Path); llvm::json::Value toJSON(const DisassembleResponseBody &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { + /// Memory reference

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -839,6 +839,43 @@ bool fromJSON(const llvm::json::Value &, DisassembleResponseBody &, llvm::json::Path); llvm::json::Value toJSON(const DisassembleResponseBody &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { + /// Memory reference

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti approved this pull request. https://github.com/llvm/llvm-project/pull/144552 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-17 Thread John Harrison via lldb-commits
@@ -0,0 +1,186 @@ +//===-- CommandObjectProtocolServer.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-I

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -742,6 +742,42 @@ bool fromJSON(const llvm::json::Value &, DisassembledInstruction &, llvm::json::Path); llvm::json::Value toJSON(const DisassembledInstruction &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { + /// Memory reference

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -742,6 +742,42 @@ bool fromJSON(const llvm::json::Value &, DisassembledInstruction &, llvm::json::Path); llvm::json::Value toJSON(const DisassembledInstruction &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { + /// Memory reference

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -742,6 +742,42 @@ bool fromJSON(const llvm::json::Value &, DisassembledInstruction &, llvm::json::Path); llvm::json::Value toJSON(const DisassembledInstruction &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { + /// Memory reference

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -7,136 +7,57 @@ //===--===// #include "DAP.h" -#include "EventHelper.h" #include "JSONUtils.h" #include "RequestHandler.h" #include "llvm/ADT/StringExtras.h" #include "llvm/Support/Base64.h" namespa

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -742,6 +742,42 @@ bool fromJSON(const llvm::json::Value &, DisassembledInstruction &, llvm::json::Path); llvm::json::Value toJSON(const DisassembledInstruction &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { + /// Memory reference

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -742,6 +742,42 @@ bool fromJSON(const llvm::json::Value &, DisassembledInstruction &, llvm::json::Path); llvm::json::Value toJSON(const DisassembledInstruction &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { + /// Memory reference

[Lldb-commits] [lldb] [lldb-dap] Use protocol types for ReadMemory request (PR #144552)

2025-06-17 Thread John Harrison via lldb-commits
@@ -742,6 +742,42 @@ bool fromJSON(const llvm::json::Value &, DisassembledInstruction &, llvm::json::Path); llvm::json::Value toJSON(const DisassembledInstruction &); +/// Arguments for `readMemory` request. +struct ReadMemoryArguments { ashgti

[Lldb-commits] [lldb] [lldb-dap] Fix source references (PR #144364)

2025-06-17 Thread John Harrison via lldb-commits
https://github.com/ashgti approved this pull request. https://github.com/llvm/llvm-project/pull/144364 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Creating protocol types for setExceptionBreakpoints. (PR #144153)

2025-06-16 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/144153 >From e54b23052c17efd61297db619c355749d51e34c6 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Fri, 13 Jun 2025 11:58:27 -0700 Subject: [PATCH 1/3] [lldb-dap] Creating protocol types for setExceptionBreakpoin

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-16 Thread John Harrison via lldb-commits
https://github.com/ashgti approved this pull request. LGTM! I look forward to trying this out and iterating on this. https://github.com/llvm/llvm-project/pull/143628 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
@@ -189,262 +298,322 @@ def _read_packet_thread(self): while not done: packet = read_packet(self.recv, trace_file=self.trace_file) # `packet` will be `None` on EOF. We want to pass it down to -# handle_recv_packet anyw

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/143818 >From ab4b987aec591491d3805af41c7127ff6698fe0e Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 11 Jun 2025 15:57:16 -0700 Subject: [PATCH 1/5] [lldb-dap] Refactring DebugCommunication to improve test con

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
@@ -189,262 +298,322 @@ def _read_packet_thread(self): while not done: packet = read_packet(self.recv, trace_file=self.trace_file) # `packet` will be `None` on EOF. We want to pass it down to -# handle_recv_packet anyw

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
@@ -71,31 +173,27 @@ def read_packet(f, verbose=False, trace_file=None): if line.startswith(prefix): # Decode length of JSON bytes if verbose: -print('content: "%s"' % (line)) +print(f"content: {line}") ashgti wrote:

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
@@ -189,262 +298,322 @@ def _read_packet_thread(self): while not done: packet = read_packet(self.recv, trace_file=self.trace_file) # `packet` will be `None` on EOF. We want to pass it down to -# handle_recv_packet anyw

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
@@ -10,17 +10,117 @@ import subprocess import signal import sys +from dataclasses import dataclass import threading import time -from typing import Any, Optional, Union, BinaryIO, TextIO +from typing import ( +IO, +Any, +Callable, +Dict, +List, +Option

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
@@ -10,17 +10,117 @@ import subprocess import signal import sys +from dataclasses import dataclass import threading import time -from typing import Any, Optional, Union, BinaryIO, TextIO +from typing import ( +IO, +Any, +Callable, +Dict, +List, +Option

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/143818 >From ab4b987aec591491d3805af41c7127ff6698fe0e Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 11 Jun 2025 15:57:16 -0700 Subject: [PATCH 1/4] [lldb-dap] Refactring DebugCommunication to improve test con

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-16 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/143818 >From ab4b987aec591491d3805af41c7127ff6698fe0e Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 11 Jun 2025 15:57:16 -0700 Subject: [PATCH 1/3] [lldb-dap] Refactring DebugCommunication to improve test con

[Lldb-commits] [lldb] [lldb-dap] Fix source references (PR #144364)

2025-06-16 Thread John Harrison via lldb-commits
@@ -37,10 +37,15 @@ protocol::Source CreateSource(const lldb::SBFileSpec &file); /// \param[in] target /// The target that has the address. /// +/// \param[in] create_reference +/// function used to create a source_reference +/// /// \return -/// A "Source" JSON ob

[Lldb-commits] [lldb] [lldb-dap] Fix source references (PR #144364)

2025-06-16 Thread John Harrison via lldb-commits
@@ -510,6 +510,25 @@ DAP::SendFormattedOutput(OutputType o, const char *format, ...) { o, llvm::StringRef(buffer, std::min(actual_length, sizeof(buffer; } +int32_t DAP::CreateSourceReference(lldb::addr_t address) { + auto iter = llvm::find(source_references, addre

[Lldb-commits] [lldb] [lldb-dap] Fix source references (PR #144364)

2025-06-16 Thread John Harrison via lldb-commits
@@ -510,6 +510,25 @@ DAP::SendFormattedOutput(OutputType o, const char *format, ...) { o, llvm::StringRef(buffer, std::min(actual_length, sizeof(buffer; } +int32_t DAP::CreateSourceReference(lldb::addr_t address) { + auto iter = llvm::find(source_references, addre

[Lldb-commits] [lldb] [lldb-dap] Use structured types for stepInTargets request (PR #144072)

2025-06-16 Thread John Harrison via lldb-commits
@@ -582,6 +582,28 @@ llvm::json::Value toJSON(const SteppingGranularity &SG) { llvm_unreachable("unhandled stepping granularity."); } +bool fromJSON(const json::Value &Params, StepInTarget &SIT, json::Path P) { + json::ObjectMapper O(Params, P); + return O && O.map("id", S

[Lldb-commits] [lldb] [lldb-dap] Use structured types for stepInTargets request (PR #144072)

2025-06-16 Thread John Harrison via lldb-commits
https://github.com/ashgti approved this pull request. https://github.com/llvm/llvm-project/pull/144072 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] show function name in the instruction comment. (PR #144070)

2025-06-16 Thread John Harrison via lldb-commits
https://github.com/ashgti approved this pull request. https://github.com/llvm/llvm-project/pull/144070 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] show function name in the instruction comment. (PR #144070)

2025-06-16 Thread John Harrison via lldb-commits
ashgti wrote: Ah, ok, if is already like this in other places, SGTM https://github.com/llvm/llvm-project/pull/144070 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
ashgti wrote: Reading more about this in the VSCode docs and on the MCP website I think I understand the flow of logic a bit more. I think this is definitely helpful for allowing an agent to help control a debug session. However, I'm still not sure how we should handle the MCP client and debu

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
https://github.com/ashgti edited https://github.com/llvm/llvm-project/pull/143628 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
https://github.com/ashgti edited https://github.com/llvm/llvm-project/pull/143628 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
https://github.com/ashgti edited https://github.com/llvm/llvm-project/pull/143628 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
@@ -0,0 +1,280 @@ +//===- ProtocolServerMCP.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

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
@@ -0,0 +1,280 @@ +//===- ProtocolServerMCP.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

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
@@ -0,0 +1,13 @@ +add_lldb_library(lldbPluginProtocolServerMCP PLUGIN ashgti wrote: Should this be behind a build flag? I could see some distributions disabling this feature for security reasons. Once an MCP server is running, it can run arbitrary commands in t

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
@@ -0,0 +1,131 @@ +//===- Protocol.h -===// +// +// 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

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
@@ -0,0 +1,72 @@ +//===- Tool.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: Apa

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
@@ -0,0 +1,131 @@ +//===- Protocol.h -===// +// +// 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

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
@@ -0,0 +1,280 @@ +//===- ProtocolServerMCP.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

[Lldb-commits] [lldb] [lldb] Add Model Context Protocol (MCP) support to LLDB (PR #143628)

2025-06-13 Thread John Harrison via lldb-commits
https://github.com/ashgti commented: Would it be worth it to include a file in lldb/docs/resources about running this? For folks wanting to get started trying this out? Maybe in a follow up PR. https://github.com/llvm/llvm-project/pull/143628 ___ lld

[Lldb-commits] [lldb] [lldb-dap] Creating protocol types for setExceptionBreakpoints. (PR #144153)

2025-06-13 Thread John Harrison via lldb-commits
@@ -39,6 +41,8 @@ class ExceptionBreakpoint { std::string m_filter; std::string m_label; lldb::LanguageType m_language; + bool m_is_throw; + bool m_is_catch; ashgti wrote: Sure, created an enum. Thats hopefully more clear than the set of bools. https:

[Lldb-commits] [lldb] [lldb-dap] Creating protocol types for setExceptionBreakpoints. (PR #144153)

2025-06-13 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/144153 >From e54b23052c17efd61297db619c355749d51e34c6 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Fri, 13 Jun 2025 11:58:27 -0700 Subject: [PATCH 1/2] [lldb-dap] Creating protocol types for setExceptionBreakpoin

[Lldb-commits] [lldb] [lldb-dap] Creating protocol types for setExceptionBreakpoints. (PR #144153)

2025-06-13 Thread John Harrison via lldb-commits
https://github.com/ashgti created https://github.com/llvm/llvm-project/pull/144153 This adds new types for setExceptionBreakpoints and adds support for `supportsExceptionFilterOptions`, which allows exception breakpoints to set a condition. While testing this, I noticed that obj-c exception c

[Lldb-commits] [lldb] [lldb] Implement JSON RPC (newline delimited) Transport (PR #143946)

2025-06-13 Thread John Harrison via lldb-commits
ashgti wrote: > If this is a feature you actually rely on, we should check the fd is valid > before we use it. As in: check and if it's invalid early return an error, > instead of getting all the way to reading from it. The start of the `ReadFull` helper is checking `IsValid()`: ``` static Ex

[Lldb-commits] [lldb] [lldb-dap] show function name in the instruction comment. (PR #144070)

2025-06-13 Thread John Harrison via lldb-commits
https://github.com/ashgti commented: Looking at this locally, I think this is changing: ``` 0x01234 ff ff ff ff NSLog: pacibsp ... ``` into: ``` 0x01234 ff ff ff ff pacibsp ; NSLog ... ``` When other functions are called, they have the name in the comment, so you'd see ``` 0x01234

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-12 Thread John Harrison via lldb-commits
@@ -76,26 +178,22 @@ def read_packet(f, verbose=False, trace_file=None): if verbose: print('length: "%u"' % (length)) # Skip empty line -line = f.readline() +line = f.readline().decode() if verbose: print('empty:

[Lldb-commits] [lldb] [lldb-dap] Refactoring DebugCommunication to improve test consistency. (PR #143818)

2025-06-12 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/143818 >From ab4b987aec591491d3805af41c7127ff6698fe0e Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 11 Jun 2025 15:57:16 -0700 Subject: [PATCH 1/2] [lldb-dap] Refactring DebugCommunication to improve test con

[Lldb-commits] [lldb] [lldb] Implement JSON RPC (newline delimited) Transport (PR #143946)

2025-06-12 Thread John Harrison via lldb-commits
ashgti wrote: I tried to see if the existing timeout test was working on the Windows buildbot and its not running due to https://github.com/llvm/llvm-project/blob/main/lldb/unittests/CMakeLists.txt#L50 so the timeout tests may need an `#ifdef !_WIN32` around them maybe. https://github.com/llv

[Lldb-commits] [lldb] [lldb] Implement JSON RPC (newline delimited) Transport (PR #143946)

2025-06-12 Thread John Harrison via lldb-commits
https://github.com/ashgti approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/143946 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Implement JSON RPC (newline delimited) Transport (PR #143946)

2025-06-12 Thread John Harrison via lldb-commits
@@ -0,0 +1,146 @@ +//===-- JSONTransportTest.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

[Lldb-commits] [lldb] [lldb] Implement JSON RPC (newline delimited) Transport (PR #143946)

2025-06-12 Thread John Harrison via lldb-commits
https://github.com/ashgti approved this pull request. https://github.com/llvm/llvm-project/pull/143946 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Implement JSON RPC (newline delimited) Transport (PR #143946)

2025-06-12 Thread John Harrison via lldb-commits
@@ -0,0 +1,146 @@ +//===-- JSONTransportTest.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

[Lldb-commits] [lldb] [lldb] Improving dotest script flags. (PR #143797)

2025-06-12 Thread John Harrison via lldb-commits
ashgti wrote: Okay, it sounds like I should remove the `-#` from dotest.py since its broken and `-y` since its not used anywhere. I can take a look at lit and see if there is some way to integrate re-running a test there. I'll check if there is a way we could also integrate the failfast flag

[Lldb-commits] [lldb] [lldb] Improving dotest script flags. (PR #143797)

2025-06-12 Thread John Harrison via lldb-commits
@@ -204,19 +204,19 @@ def create_parser(): action="append", help='Run "setting set SETTING VALUE" before executing any test.', ) -group.add_argument( -"-y", -type=int, -metavar="count", -help="Specify the iteration count u

[Lldb-commits] [lldb] [lldb] Move Transport class into lldb_private (NFC) (PR #143806)

2025-06-11 Thread John Harrison via lldb-commits
@@ -0,0 +1,131 @@ +//===-- JSONTransport.h ---===// +// +// 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

[Lldb-commits] [lldb] [lldb] Improving dotest script flags. (PR #143797)

2025-06-11 Thread John Harrison via lldb-commits
ashgti wrote: For reference, without this change if you use `-# 2` then you'll see an error like: ``` Traceback (most recent call last): File "/Users/harjohn/Projects/llvm-project/lldb/test/API/dotest.py", line 8, in lldbsuite.test.run_suite() ^^ File "/Us

[Lldb-commits] [lldb] [lldb] Improving dotest script flags. (PR #143797)

2025-06-11 Thread John Harrison via lldb-commits
https://github.com/ashgti created https://github.com/llvm/llvm-project/pull/143797 This fixes the `dotest.py -# ` flag to work. Currently, if you try to use the flag you'll get an error on the second run of the suite because python unittest.TestSuite will remove the tests from the suite after

[Lldb-commits] [lldb] [lldb-dap] Prevent using an implicit `step-in`. (PR #143644)

2025-06-11 Thread John Harrison via lldb-commits
@@ -105,6 +105,21 @@ protocol::Source CreateSource(lldb::SBAddress address, lldb::SBTarget &target) { return CreateSource(line_entry.GetFileSpec()); } +protocol::Source CreateSource(lldb::SBFrame frame) { + if (!frame.IsValid()) +return {}; ashgti wrot

[Lldb-commits] [lldb] [lldb-dap] Prevent using an implicit `step-in`. (PR #143644)

2025-06-11 Thread John Harrison via lldb-commits
@@ -105,6 +105,21 @@ protocol::Source CreateSource(lldb::SBAddress address, lldb::SBTarget &target) { return CreateSource(line_entry.GetFileSpec()); } +protocol::Source CreateSource(lldb::SBFrame frame) { + if (!frame.IsValid()) +return {}; + + const lldb::SBTarget ta

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-10 Thread John Harrison via lldb-commits
https://github.com/ashgti closed https://github.com/llvm/llvm-project/pull/142831 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-10 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From 0824e3c626ad5e8c2ce37f2fdfcf0c2fa47b7b1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/8] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-10 Thread John Harrison via lldb-commits
ashgti wrote: I think more of the tests I see are using style 4, so I went with that for my tests for consistency. https://github.com/llvm/llvm-project/pull/142831 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bi

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
ashgti wrote: I also added some unit tests for the new 'CapabilitiesEventBody' serialization logic. But I have a style question. The existing `Capabilities` type doesn't initialize its fields, so if I use the aggregate I have to include all the fields. However, we could initialize the values

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From 0824e3c626ad5e8c2ce37f2fdfcf0c2fa47b7b1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/7] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From 0824e3c626ad5e8c2ce37f2fdfcf0c2fa47b7b1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/6] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Migrating 'threads' request to structured types. (PR #142510)

2025-06-05 Thread John Harrison via lldb-commits
https://github.com/ashgti closed https://github.com/llvm/llvm-project/pull/142510 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Migrating 'threads' request to structured types. (PR #142510)

2025-06-05 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142510 >From 3a16210ba7643608dd0bd6a1ff4a76b4e72c74e3 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Mon, 2 Jun 2025 18:07:52 -0700 Subject: [PATCH 1/6] [lldb-dap] Migrating 'threads' request to structured types.

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
ashgti wrote: Done, rebased on main. https://github.com/llvm/llvm-project/pull/142831 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From 0824e3c626ad5e8c2ce37f2fdfcf0c2fa47b7b1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/6] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From 0824e3c626ad5e8c2ce37f2fdfcf0c2fa47b7b1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/5] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From 0824e3c626ad5e8c2ce37f2fdfcf0c2fa47b7b1d Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/4] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
ashgti wrote: Working on an update rebased on HEAD. https://github.com/llvm/llvm-project/pull/142831 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-05 Thread John Harrison via lldb-commits
ashgti wrote: I see some of this has been reverted. Should I undo the revert and add that to my other PR or should I rebase my changes on HEAD and we can take another stab at updating the stepInTargets request? https://github.com/llvm/llvm-project/pull/142831 _

[Lldb-commits] [lldb] Revert "[lldb-dap] Use structured types for stepInTargets request (#142439)" (PR #142891)

2025-06-05 Thread John Harrison via lldb-commits
ashgti wrote: #142831 should fix the failing test on macOS. Should I revert this revert and add that to my other PR or should I rebase my changes on HEAD and we can take another stab at updating the stepInTargets request? https://github.com/llvm/llvm-project/pull/142891 ___

[Lldb-commits] [lldb] [lldb-dap] Use structured types for stepInTargets request (PR #142439)

2025-06-04 Thread John Harrison via lldb-commits
ashgti wrote: #142831 should fix this https://github.com/llvm/llvm-project/pull/142439 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Test Gardening, Breakpoints. (PR #141983)

2025-06-04 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/141983 >From 60ca2ac18ccff832d2137107d3f5161614c02dd1 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Thu, 29 May 2025 09:55:42 -0700 Subject: [PATCH] [lldb-dap] Test Gardening, Breakpoints. Enabling the breakpoint

[Lldb-commits] [lldb] [lldb-dap] Test Gardening, attach tests. (PR #141981)

2025-06-04 Thread John Harrison via lldb-commits
https://github.com/ashgti closed https://github.com/llvm/llvm-project/pull/141981 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb-dap] Migrating 'threads' request to structured types. (PR #142510)

2025-06-04 Thread John Harrison via lldb-commits
@@ -152,7 +152,7 @@ struct DAP { llvm::DenseSet clientFeatures; /// The initial thread list upon attaching. - std::optional initial_thread_list; + std::optional> initial_thread_list; ashgti wrote: Changed to just a vector that we check. https://github.

[Lldb-commits] [lldb] [lldb-dap] Migrating 'threads' request to structured types. (PR #142510)

2025-06-04 Thread John Harrison via lldb-commits
@@ -414,6 +414,16 @@ bool fromJSON(const llvm::json::Value &, SteppingGranularity &, llvm::json::Path); llvm::json::Value toJSON(const SteppingGranularity &); +/// A Thread. +struct Thread { + /// Unique identifier for the thread. + lldb::tid_t id; ---

[Lldb-commits] [lldb] [lldb-dap] Migrating 'threads' request to structured types. (PR #142510)

2025-06-04 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142510 >From 3a16210ba7643608dd0bd6a1ff4a76b4e72c74e3 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Mon, 2 Jun 2025 18:07:52 -0700 Subject: [PATCH 1/6] [lldb-dap] Migrating 'threads' request to structured types.

[Lldb-commits] [lldb] [lldb-dap] Migrating 'threads' request to structured types. (PR #142510)

2025-06-04 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142510 >From 2fd86de03cbb207420ee45334639f82d19dbbc28 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Mon, 2 Jun 2025 18:07:52 -0700 Subject: [PATCH 1/5] [lldb-dap] Migrating 'threads' request to structured types.

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-04 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From ad3cd275d38fda7b61c96c532d4f807953beecf5 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/2] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-04 Thread John Harrison via lldb-commits
@@ -89,17 +91,14 @@ def test_supported_capability_x86_arch(self): self.assertEqual( len(breakpoint_ids), len(bp_lines), "expect correct number of breakpoints" ) -is_supported = self.dap_server.get_initialize_value( -"supportsStep

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-04 Thread John Harrison via lldb-commits
https://github.com/ashgti updated https://github.com/llvm/llvm-project/pull/142831 >From ad3cd275d38fda7b61c96c532d4f807953beecf5 Mon Sep 17 00:00:00 2001 From: John Harrison Date: Wed, 4 Jun 2025 11:03:37 -0700 Subject: [PATCH 1/3] [lldb-dap] Creating a 'capabilities' event helper. This adds

[Lldb-commits] [lldb] [lldb-dap] Creating a 'capabilities' event helper. (PR #142831)

2025-06-04 Thread John Harrison via lldb-commits
@@ -491,13 +495,11 @@ def wait_for_terminated(self, timeout: Optional[float] = None): raise ValueError("didn't get terminated event") return event_dict -def get_initialize_value(self, key): +def get_capability(self, key, default=None): """

  1   2   3   4   5   6   7   8   9   10   >