diff --git a/lldb/tools/lldb-vscode/lldb-vscode.cpp b/lldb/tools/lldb-vscode/lldb-vscode.cpp --- a/lldb/tools/lldb-vscode/lldb-vscode.cpp +++ b/lldb/tools/lldb-vscode/lldb-vscode.cpp @@ -1194,14 +1194,6 @@ // }] // } void request_initialize(const llvm::json::Object &request) { - auto arguments = request.getObject("arguments"); - const auto skipInitFiles = GetBoolean(arguments, "skipInitFiles", false); - g_vsc.debugger = - lldb::SBDebugger::Create(!skipInitFiles /*source_init_files*/); - // Create an empty target right away since we might get breakpoint requests - // before we are given an executable to launch in a "launch" request, or a - // executable when attaching to a process by process ID in a "attach" - // request. FILE *out = llvm::sys::RetryAfterSignal(nullptr, fopen, dev_null_path, "w"); if (out) { // Set the output and error file handles to redirect into nothing otherwise @@ -1212,6 +1204,14 @@ g_vsc.debugger.SetErrorFileHandle(out, false); } + auto arguments = request.getObject("arguments"); + const auto skipInitFiles = GetBoolean(arguments, "skipInitFiles", false); + g_vsc.debugger = + lldb::SBDebugger::Create(!skipInitFiles /*source_init_files*/); + // Create an empty target right away since we might get breakpoint requests + // before we are given an executable to launch in a "launch" request, or a + // executable when attaching to a process by process ID in a "attach" + // request. g_vsc.target = g_vsc.debugger.CreateTarget(nullptr); lldb::SBListener listener = g_vsc.debugger.GetListener(); listener.StartListeningForEvents(