diff --git a/src/plugins/debugger/dap/lldbdapengine.cpp b/src/plugins/debugger/dap/lldbdapengine.cpp index 8dfd75a75b2..0dded62b776 100644 --- a/src/plugins/debugger/dap/lldbdapengine.cpp +++ b/src/plugins/debugger/dap/lldbdapengine.cpp @@ -115,14 +115,6 @@ LldbDapEngine::LldbDapEngine() setDebuggerType("DAP"); } -QJsonArray LldbDapEngine::environment() const -{ - QJsonArray envArray; - for (const QString &value : runParameters().inferior.environment.toDictionary().toStringList()) - envArray.append(value); - return envArray; -} - QJsonArray LldbDapEngine::sourceMap() const { QJsonArray sourcePathMapping; @@ -160,11 +152,13 @@ void LldbDapEngine::handleDapInitialize() const QJsonArray commands = preRunCommands(); if (!isLocalAttachEngine()) { - const QJsonArray env = environment(); + const QJsonArray env = QJsonArray::fromStringList( + rp.inferior.environment.toDictionary().toStringList()); + const QJsonArray args = QJsonArray::fromStringList(rp.inferior.command.splitArguments()); + QJsonObject launchJson{ {"noDebug", false}, {"program", rp.inferior.command.executable().path()}, - {"args", rp.inferior.command.arguments()}, {"cwd", rp.inferior.workingDirectory.path()}, {"env", env}, {"__restart", ""}, @@ -173,6 +167,8 @@ void LldbDapEngine::handleDapInitialize() launchJson.insert("sourceMap", map); if (!commands.isEmpty()) launchJson.insert("preRunCommands", commands); + if (!args.isEmpty()) + launchJson.insert("args", args); m_dapClient->postRequest("launch", launchJson); diff --git a/src/plugins/debugger/dap/lldbdapengine.h b/src/plugins/debugger/dap/lldbdapengine.h index f4f59903820..0ebeb2d2ee1 100644 --- a/src/plugins/debugger/dap/lldbdapengine.h +++ b/src/plugins/debugger/dap/lldbdapengine.h @@ -22,7 +22,6 @@ private: bool acceptsBreakpoint(const BreakpointParameters &bp) const override; const QLoggingCategory &logCategory() override; - QJsonArray environment() const; QJsonArray sourceMap() const; QJsonArray preRunCommands() const; };