[Lldb-commits] [lldb] 09f30ef - [lldb-dap] Use SetTarget for launch and attach commands (#200133)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Jun 1 09:45:55 PDT 2026
Author: Sergei Druzhkov
Date: 2026-06-01T19:45:50+03:00
New Revision: 09f30ef6105e3f9695ad876fcb5add2e7917712b
URL: https://github.com/llvm/llvm-project/commit/09f30ef6105e3f9695ad876fcb5add2e7917712b
DIFF: https://github.com/llvm/llvm-project/commit/09f30ef6105e3f9695ad876fcb5add2e7917712b.diff
LOG: [lldb-dap] Use SetTarget for launch and attach commands (#200133)
Without this patch event listener registration was skipped, as a result
`Modules` view in UI was not displayed in case of launching target via
`launchCommands` or `attachCommands`.
Added:
Modified:
lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
lldb/tools/lldb-dap/Handler/RequestHandler.cpp
Removed:
################################################################################
diff --git a/lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py b/lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
index 056e213a6fc81..f24a32edbaa7b 100644
--- a/lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
+++ b/lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
@@ -77,6 +77,10 @@ def test_commands(self):
output = self.collect_console(pattern=stopCommands[-1])
self.verify_commands("stopCommands", output, stopCommands)
+ # Check that we got module events from target
+ modules = self.dap_server.wait_for_module_events()
+ self.assertGreater(len(modules), 0)
+
# Continue after launch and hit the "pause()" call and stop the target.
# Get output from the console. This should contain both the
# "stopCommands" that were run after we stop.
diff --git a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
index 46a1b0a6165c9..ad48af6364aba 100644
--- a/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
+++ b/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
@@ -57,8 +57,15 @@ def test(self):
# After execution, program should launch
self.verify_commands("launchCommands", output, launchCommands)
self.verify_commands("postRunCommands", output, postRunCommands)
+
+ # Finish configuration and continue target
+ self.verify_configuration_done()
+
+ # Check that we got module events from target
+ modules = self.dap_server.wait_for_module_events()
+ self.assertGreater(len(modules), 0)
+
# Verify the "stopCommands" here
- self.continue_to_next_stop()
output = self.get_console()
self.verify_commands("stopCommands", output, stopCommands)
diff --git a/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp b/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
index 03b26f63292f3..c4cfbcbd3d73c 100644
--- a/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
@@ -103,7 +103,7 @@ Error AttachRequestHandler::Run(const AttachRequestArguments &args) const {
if (llvm::Error err = dap.RunAttachCommands(args.attachCommands))
return err;
- dap.target = dap.debugger.GetSelectedTarget();
+ dap.SetTarget(dap.debugger.GetSelectedTarget());
// Validate the attachCommand results.
if (!dap.target.GetProcess().IsValid())
diff --git a/lldb/tools/lldb-dap/Handler/RequestHandler.cpp b/lldb/tools/lldb-dap/Handler/RequestHandler.cpp
index e44e09e4741e4..f375a409d251a 100644
--- a/lldb/tools/lldb-dap/Handler/RequestHandler.cpp
+++ b/lldb/tools/lldb-dap/Handler/RequestHandler.cpp
@@ -261,7 +261,7 @@ llvm::Error BaseRequestHandler::LaunchProcess(
// The custom commands might have created a new target so we should use
// the selected target after these commands are run.
- dap.target = dap.debugger.GetSelectedTarget();
+ dap.SetTarget(dap.debugger.GetSelectedTarget());
}
}
More information about the lldb-commits
mailing list