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()); } } _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
