labath marked an inline comment as done. labath added inline comments.
================ Comment at: lldb/trunk/source/Target/ProcessLaunchInfo.cpp:220 + if (!m_pty->OpenFirstAvailableMaster(open_flags, nullptr, 0)) { + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "PTY::OpenFirstAvailableMaster failed"); ---------------- Hui wrote: > Look like the windows implementation of OpenFirstAvailableMaster is missing. > > There was no error before these changes. > > $ ./lldb-server.exe g *:2000 --log-channels="lldb all:gdb-remote all" > "d:\\m.exe" > 1548354703.504552364 lldb-server launch > 1548354703.504905224 argv[0] = 'g' > 1548354703.505040407 argv[1] = '--log-channels=lldb all:gdb-remote all' > 1548354703.505141735 argv[2] = '*:2000' > 1548354703.505235672 argv[3] = 'd:\m.exe' > 1548354703.505473614 000000DBF458F040 > Broadcaster::Broadcaster("gdb-remote.server") > 1548354703.505620718 000000DBF458F040 Communication::Communication (name = > gdb-remote.server) > 1548354703.507417917 000000DBF458F658 > Broadcaster::Broadcaster("process.stdio") > 1548354703.507594585 000000DBF458F658 Communication::Communication (name = > process.stdio) > 1548354703.510816097 processlaunchinfo.cpp:SetUpPtyRedirection > Generating a pty to use for stdin/out/err > error: failed to launch 'd:\m.exe': PTY::OpenFirstAvailableMaster failed > Yes, there was no error before, though that doesn't mean that the code was correct. The reason you're seeing the error now is because I changed `GDBRemoteCommunicationServerLLGS::LaunchProcess` to check the error code, whereas previously it was ignoring it. Overall, I think you'll have to figure out stdio forwarding sooner or later, but if it's enough for you right now to replicate the !lldb_server path and open a new terminal for the debugged app, then the easiest way to achieve that would be to move the pty setup code into the NativeProcess class. So, NativeProcessLinux/NetBSD would call `SetUpPtyRedirection` to do the usual stdout forwarding, and the windows process would do whatever it takes to create a new terminal window (and return -1 for `GetTerminalFileDescriptor`). Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56196/new/ https://reviews.llvm.org/D56196 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits