[all-commits] [llvm/llvm-project] 3734a9: [lldb][Windows] Forward debuggee STDOUT through ll...

Charles Zablit via All-commits all-commits at lists.llvm.org
Fri Jun 5 07:30:26 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3734a928541890a8f2b5d91587ff0bd6ebc90b46
      https://github.com/llvm/llvm-project/commit/3734a928541890a8f2b5d91587ff0bd6ebc90b46
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-05 (Fri, 05 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Host/common/NativeProcessProtocol.h
    M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h

  Log Message:
  -----------
  [lldb][Windows] Forward debuggee STDOUT through lldb-server via ConPTY (#201124)

`lldb-server.exe` currently does not forward the debuggee's STDIO to the
client.

This patch wires STDOUT using a ConPTY, mirroring the existing
`ProcessWindows` path. The two implementations share the same
infrastructure (PseudoConsole, ConnectionConPTY, ThreadedCommunication):

- The ConPTY is setup in
`GDBRemoteCommunicationServerLLGS::LaunchProcess`.
- `NativeProcessWindows` owns the ConPTY STDOUT read thread. The
read-thread callback forwards each chunk into a new
`NativeProcessProtocol::NewProcessOutput` delegate hook.
- `GDBRemoteCommunicationServerLLGS::NewProcessOutput` copies the data
and posts `SendONotification` to the main loop.
- The ConPTY is closed in `OnExitProcess`.

This patch uses a default terminal size to create the ConPTY, which
causes issues. This will be fixed in
https://github.com/llvm/llvm-project/pull/201141.

The STDIN path will be done in a follow up PR.

rdar://178725650



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list