================ @@ -137,42 +141,232 @@ lldb::SBValueList *GetTopLevelScope(DAP &dap, int64_t variablesReference) { } } -SOCKET AcceptConnection(DAP &dap, int portno) { - // Accept a socket connection from any host on "portno". - SOCKET newsockfd = -1; - struct sockaddr_in serv_addr, cli_addr; +/// Redirect stdout and stderr fo the IDE's console output. +/// +/// Errors in this operation will be printed to the log file and the IDE's +/// console output as well. +/// +/// \return +/// A fd pointing to the original stdout. +void SetupRedirection(DAP &dap, int stdoutfd = -1, int stderrfd = -1) { ---------------- ashgti wrote:
Each `lldb::SBDebugger` instance has its own file for stdout/stderr. When running in server mode we don't actually redirect stdout/stderr to the DAP connection directly. When running lldb commands the output is directed to the `lldb::SBDebugger::GetOutputFileHandle` and `lldb::SBDebugger::GetErrorFileHandle`. the SBDebugger defaults to stdout/stderr, but we can change those since we have one debugger per client connection. https://github.com/llvm/llvm-project/pull/116392 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits