Sé que puedo encontrar si un proceso se depura mediante una llamada a Debugger.IsAttached en .NET, pero me gustaría poder obtener el PID del Visual Studio es la depuración de los procesos. es posible?Encontrar el pid de Visual Studio que está depurando mi proceso
6
A
Respuesta
2
Puede usar el método TryGetVSInstance
descrito en this answer para obtener una bodega de cada instancia del objeto EnvDTE COM Automatización de Visual Studio. Una vez que tenga eso, simplemente itere la colección DTE.Debugger.DebuggedProcesses y compruebe si alguno de ellos apunta al mismo ID de proceso que el proceso que le interesa.
+0
Tenía la esperanza de que fueran una aplicación win32 a la que pudieras llamar, pero creo que tu sugerencia es probablemente la más limpia. ¡Gracias! – Robert
0
This funcionó para mí.
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;
}
Cuestiones relacionadas
- 1. depurando un proceso creado con CreateProcess en Visual Studio
- 2. Visual Studio no puede encontrar el proceso w3wp
- 3. Visual Studio no está cargando mi visualizador de depuración
- 4. cómo encontrar el proceso que está haciendo con frecuencia?
- 5. Delphi: encontrar el proceso que está accediendo a un archivo de mi programa
- 6. ¿Cómo puedo encontrar el ID de proceso (pid) de un proceso iniciado en Java?
- 7. ¿Por qué no puede Visual Studio encontrar mi DLL?
- 8. Determine pid de proceso terminado
- 9. Esperar a que un determinado proceso (conociendo el "PID") final
- 10. Obtener pid del proceso que ha activado alguna señal
- 11. iPhone SDK- Error del depurador: El programa que se está depurando no se está ejecutando
- 12. obtener pid del proceso hijo
- 13. ¿Cómo encontrar el identificador de paquete de un PID conocido?
- 14. ¿cuál es el marco visual de la GUI que Visual Studio está usando por defecto?
- 15. Caso que preserva encontrar/reemplazar en Visual Studio
- 16. pid del proceso actualmente en ejecución
- 17. ¿Dónde está el registro de bloqueo de Visual Studio 2008?
- 18. Visual Studio no puede encontrar el espacio de nombres de mi DLL referenciada
- 19. No se pudo encontrar "Mi trabajo" en el nuevo Visual Studio 2012
- 20. ¿Dónde está SSIS en Visual Studio 2010?
- 21. Visual Studio tiene privilegios insuficientes para depurar este proceso. Para depurar este proceso, Visual Studio debe ejecutarse como administrador
- 22. ¿Cómo puedo hacer que mi Visual Studio se vea así?
- 23. ¿Dónde está Visual Studio 2005 Express?
- 24. En Visual Studio 2010, ¿cómo hacer que Solution Explorer destaque el archivo que está viendo?
- 25. Conseguir última PID del proceso, en el Makefile
- 26. ¿Cómo conectar Visual Studio a un proceso que aún no se ha iniciado?
- 27. Java: Obtenga un proceso dado un pid
- 28. Obtener el nombre del proceso de pid o manejar
- 29. ¿Dónde está el WebService ASP.Net en Visual Studio 2010?
- 30. ¿Cómo puedo obtener el PID del proceso principal de mi aplicación?
Si el proceso se inicia desde el depurador, el depurador pid será el pid padre del proceso depurado y esto puede determinarse. ¿Está más interesado en el escenario donde el depurador está conectado de forma remota a un proceso activo? – panickal
Hay varios casos donde VS es * no * el proceso de depuración. Como depuración remota o depuración de código de 64 bits o varios escenarios de alojamiento. Es muy importante que no necesites información. Esta es una pregunta XY, no puedo ver la X. –