Я знаю, что могу найти, отлаживается ли процесс через вызов Debugger.IsAttached в .NET, но я бы хотел получить PID из Visual Studio - это отладка процессов. Это возможно?Найти pid Visual Studio, который отлаживает мой процесс
6
A
ответ
2
Вы можете использовать метод TryGetVSInstance
, описанный в this answer, чтобы получить доступ к каждому экземпляру объекта автоматизации Visual Studio EnvDTE COM Automation. Как только вы это сделаете, просто повторите сборку DTE.Debugger.DebuggedProcesses и проверьте, указали ли какие-либо из них на тот же идентификатор процесса, что и процесс, который вас интересует.
+0
Я надеялся, что они будут win32 api, которые вы могли бы назвать, но я думаю, что вы предлагаете, вероятно, самый чистый способ. Благодаря! – Robert
0
This работал для меня.
public static Process GetParent(Process process)
{
var processName = process.ProcessName;
var nbrOfProcessWithThisName = Process.GetProcessesByName(processName).Length;
for (var index = 0; index < nbrOfProcessWithThisName; index++)
{
var processIndexdName = index == 0 ? processName : processName + "#" + index;
var processId = new PerformanceCounter("Process", "ID Process", processIndexdName);
if ((int)processId.NextValue() == process.Id)
{
var parentId = new PerformanceCounter("Process", "Creating Process ID", processIndexdName);
return Process.GetProcessById((int)parentId.NextValue());
}
}
return null;
}
Смежные вопросы
- 1. Visual Studio отлаживает дочерний процесс при его запуске
- 2. Почему Visual Studio 2005 не отлаживает мой JavaScript-код?
- 3. Visual Studio 2012 не отлаживает текущее решение
- 4. Visual studio 2015 отлаживает отпечатки текста
- 5. Отладка скопированного веб-сайта в Visual Studio 2012 отлаживает оригинал
- 6. EventSourceException исключение наводнения отлаживает сеанс и замедляет процесс. Как исправить?
- 7. Visual Studio не отлаживает при отладке модульных тестов?
- 8. Как кто-то отлаживает код Sails.js в Visual Studio?
- 9. Visual Studio Code отлаживает хром, точки останова не попадают
- 10. Найдите процесс тайны, который убивает мой процесс
- 11. мой собственный класс Stack отлаживает
- 12. Visual Studio отлаживает доступ к внешней базе данных
- 13. Visual Studio отлаживает просмотр последней инструкции в методе?
- 14. Код Visual Studio не отлаживает расширение для моделирования
- 15. Visual Studio 2012 XAML дизайнерский процесс, который ест память
- 16. Последний процесс pid linux
- 17. Найти PID процесса, который заблокировал файл
- 18. Почему Visual Studio не может найти мой метод InitializeComponent WPF?
- 19. Java: Получить процесс с pid
- 20. Рабочий процесс с C# в Visual Studio
- 21. Я не могу найти мой исследователь решений в visual studio
- 22. Процесс инициализации SIGKILL (PID 1)
- 23. Как сократить процесс связывания в Visual Studio
- 24. Как найти pid сиротного процесса
- 25. Как убить/остановить процесс, который постоянно обновляет его PID?
- 26. Visual Studio Diagnostic Tools - как изменить выбранный процесс?
- 27. Приложить процесс для отладки в Visual Studio
- 28. Рабочий процесс SVN и Visual Studio
- 29. Расширение Visual Studio, которое меняет процесс сборки
- 30. Как Visual Studio работает через мой код?
Если процесс запущен из отладчика, pid отладчика будет родительским pid отлаживаемого процесса, и это можно определить. Вас больше интересует сценарий, когда отладчик удаленно подключен к активному процессу. – panickal
Существует несколько случаев, когда VS - это * не * процесс отладчика. Подобно удаленной отладке или отладке 64-битного кода или различных сценариев размещения. Очень важно, что вам не нужна информация. Это вопрос XY, я не вижу X. –