
Есть ли способ с помощью мониторинга производительности, WMI или других свободно доступных инструментов определить, когда определенный процесс запускается или, что еще лучше, собирается запуститься? Затем, далее, захватить параметры командной строки, переданные в функцию точки входа для этого процесса.
Простое обнаружение того, что процесс был запущен в какой-то момент и уже выполняется, не имеет значения для моих требований. У меня есть Visual Studio, запускающая Chrome для сеанса отладки, и я хотел бы a) выяснить, использует ли VS cmd.exe для запуска Chrome или какой-то внутренний код VS, и b) какие параметры VS передает в Chrome для настройки его для интегрированной отладки.
Или, может быть, есть какой-то способ использовать PowerShell, чтобы установить своего рода наблюдение за образом процесса, т. е. за файлом .exe, чтобы видеть, когда к нему обращаются для выполнения?
решение1
Скорее всего, вам захочется наблюдать за процессом, который ЗАПУСКАЕТ процесс, а не только за самим целевым процессом.
Монитор процессаSysInternals должен иметь возможность это зафиксировать.
Отфильтруйте процесс Visual Studio (а также, возможно, CMD и Chrome), запустите последовательность отладки в VS и посмотрите, что будет зафиксировано.
Другой вариант, также от SysInternals, этоОбозреватель процессов, по сути, диспетчер задач на стероидах, который фиксирует аргументы, которые запустили каждый процесс. Если VS запускает посредника, который затем открывает Chrome И этот посредник остается запущенным как родительский процесс Chrome, Process Explorer покажет вам все переданные аргументы.