From 1dcc5745918761f5a554fec981b4d144034f6201 Mon Sep 17 00:00:00 2001 From: xbzk Date: Wed, 2 Sep 2026 14:04:35 +0200 Subject: [PATCH] [gdb] fix conn state to use same pipe (instead of a copy) (#4339) - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- I was trying to use GDB stub to investigate MHR and it was not connecting. Error was suggesting it was not available for connection although i saw it booting on logs. Debugged and noticed signal_pipe_ was not the correct one, and followed the example of client_socket_. GDB stub is now working, on windows, at least. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4339 Reviewed-by: Lizzie and Samuel Reviewed-by: MaranBr --- src/core/debugger/debugger.cpp | 2 +- src/core/hle/kernel/k_process.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/debugger/debugger.cpp b/src/core/debugger/debugger.cpp index d1c767721b..4ed69d8128 100644 --- a/src/core/debugger/debugger.cpp +++ b/src/core/debugger/debugger.cpp @@ -358,7 +358,7 @@ private: ConnectionState(boost::asio::ip::tcp::socket&& client_socket_, async_pipe signal_pipe_, Kernel::KernelCore& kernel) : client_socket{std::move(client_socket_)} - , signal_pipe{signal_pipe_} + , signal_pipe{std::move(signal_pipe_)} , active_thread{kernel, nullptr} {} diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index 7308b0ff87..27d1b1bfc4 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp @@ -1021,6 +1021,9 @@ Result KProcess::Run(KernelCore& kernel, s32 priority, size_t stack_size) { // Suspend for debug, if we should. if (kernel.System().DebuggerEnabled()) { + LOG_INFO(Debug_GDBStub, + "GDB stub enabled; suspending guest process until a debugger continues execution on port {}", + Settings::values.gdbstub_port.GetValue()); main_thread->RequestSuspend(kernel, SuspendType::Debug); }