From be3a781581344d25bfd9381e1c02f9fc5409e4c5 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 14 Nov 2022 22:47:09 +0200 Subject: [PATCH] Debugger: Exclude already-running processes on Unstarted App Debug Change-Id: I694c627b8da6a8bf7484bf05106b486078201ddd Reviewed-by: Christian Stenger --- src/plugins/debugger/unstartedappwatcherdialog.cpp | 9 ++++++++- src/plugins/debugger/unstartedappwatcherdialog.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/unstartedappwatcherdialog.cpp b/src/plugins/debugger/unstartedappwatcherdialog.cpp index 3aa7fbea5b4..29ca1836c98 100644 --- a/src/plugins/debugger/unstartedappwatcherdialog.cpp +++ b/src/plugins/debugger/unstartedappwatcherdialog.cpp @@ -240,6 +240,8 @@ void UnstartedAppWatcherDialog::findProcess() ProcessInfo fallback; const QList processInfoList = ProcessInfo::processInfoList(); for (const ProcessInfo &processInfo : processInfoList) { + if (m_excluded.contains(processInfo.processId)) + continue; if (Utils::FileUtils::normalizedPathName(processInfo.executable) == appName) { pidFound(processInfo); return; @@ -318,13 +320,18 @@ void UnstartedAppWatcherDialog::setWaitingState(UnstartedAppWacherState state) m_kitChooser->setEnabled(true); break; - case WatchingState: + case WatchingState: { m_waitingLabel->setText(Tr::tr("Waiting for process to start...")); m_watchingPushButton->setEnabled(true); m_watchingPushButton->setChecked(true); m_pathChooser->setEnabled(false); m_kitChooser->setEnabled(false); + m_excluded.clear(); + const QList processInfoList = ProcessInfo::processInfoList(); + for (const ProcessInfo &processInfo : processInfoList) + m_excluded.insert(processInfo.processId); break; + } case FoundState: m_waitingLabel->setText(Tr::tr("Attach")); diff --git a/src/plugins/debugger/unstartedappwatcherdialog.h b/src/plugins/debugger/unstartedappwatcherdialog.h index 91aba8b3026..790542e31a7 100644 --- a/src/plugins/debugger/unstartedappwatcherdialog.h +++ b/src/plugins/debugger/unstartedappwatcherdialog.h @@ -4,6 +4,7 @@ #pragma once #include +#include #include #include @@ -67,6 +68,7 @@ private: QCheckBox *m_continueOnAttachCheckBox; QPushButton *m_watchingPushButton; Utils::ProcessInfo m_process; + QSet m_excluded; QTimer m_timer; };