DAP: Fix windows support

- Added using named pipe for windows

Change-Id: I45561481d63c5dd81bda14e6ace4fb0374d1b488
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Artem Sokolovskii
2023-08-08 11:46:12 +02:00
parent f3e1aece83
commit 8fcf3a695f
2 changed files with 15 additions and 5 deletions

View File

@@ -98,9 +98,15 @@ void FileApiReader::parse(bool forceCMakeRun,
+ m_parameters.additionalCMakeArguments)
: QStringList());
if (debugging) {
FilePath file = FilePath::fromString(TemporaryDirectory::masterDirectoryPath() + "/cmake-dap.sock");
file.removeFile();
args << "--debugger" << "--debugger-pipe=" + file.path();
if (TemporaryDirectory::masterDirectoryFilePath().osType() == Utils::OsType::OsTypeWindows) {
args << "--debugger"
<< "--debugger-pipe \\\\.\\pipe\\cmake-dap";
} else {
FilePath file = TemporaryDirectory::masterDirectoryFilePath() / "cmake-dap.sock";
file.removeFile();
args << "--debugger"
<< "--debugger-pipe=" + file.path();
}
}
qCDebug(cmakeFileApiMode) << "Parameters request these CMake arguments:" << args;

View File

@@ -260,8 +260,12 @@ void DapEngine::setupEngine()
if (currentPerspective->parentPerspectiveId() == Constants::CMAKE_PERSPECTIVE_ID) {
qCDebug(dapEngineLog) << "build system name" << ProjectExplorer::ProjectTree::currentBuildSystem()->name();
m_dataGenerator = std::make_unique<LocalSocketDataProvider>(
TemporaryDirectory::masterDirectoryPath() + "/cmake-dap.sock");
if (TemporaryDirectory::masterDirectoryFilePath().osType() == Utils::OsType::OsTypeWindows) {
m_dataGenerator = std::make_unique<LocalSocketDataProvider>("\\\\.\\pipe\\cmake-dap");
} else {
m_dataGenerator = std::make_unique<LocalSocketDataProvider>(
TemporaryDirectory::masterDirectoryPath() + "/cmake-dap.sock");
}
connectDataGeneratorSignals();
connect(ProjectExplorer::ProjectTree::currentBuildSystem(),