2011-06-11 12 views
13

Estoy tratando de medir el rendimiento de algunas funciones y los métodos de un proyecto de aplicación de consola en Visual Studio 2010.problemas que miden los resultados del proyecto de C++ en Visual Studio 2010

que configuran el método de perfiles de instrumentación. El problema es que el monitor de rendimiento no funciona. El mensaje que llegue a la salida es:

Profiling started. 
Instrumenting w:\MyProject\ProfilingTest\Build\Debug\ProfilingTest.exe in place 
Info VSP3049: Small functions will be excluded from instrumentation. 
Microsoft (R) VSInstr Post-Link Instrumentation 10.0.40219 x64 
Copyright (C) Microsoft Corp. All rights reserved. 
File to Process: 
    w:\MyProject\ProfilingTest\Build\Debug\ProfilingTest.exe --> w:\MyProject\ProfilingTest\Build\Debug\ProfilingTest.exe 
Original file backed up to w:\MyProject\ProfilingTest\Build\Debug\ProfilingTest.exe.orig 
Successfully instrumented file w:\MyProject\ProfilingTest\Build\Debug\ProfilingTest.exe. 
The process cannot access the file 'w:\MyProject\ProfilingTest\Build\Debug\ProfilingTest.exe' because it is being used by another process. 
Data written to w:\MyProject\ProfilingTest\ProfilingTest110611(17).vsp. 
Profiling finished. 
File contains no data buffers 
File contains no data buffers 
Analysis failed 
The process cannot access the file 'w:\MyProject\ProfilingTest\Build\Debug\ProfilingTest.exe' because it is being used by another process. 
Profiling complete. 

supongo que la "raíz de todos los males" es: El proceso no tiene acceso al archivo '...' porque está siendo utilizado por otro proceso .

¿Alguien se enfrentó a este tipo de problemas que tratan de perfiles de aplicaciones nativas desarrolladas en Visual Studio 2010 y resolverlos?

tarde añadir: Si, en lugar de elegir un proyecto para perfilar, estoy eligiendo directamente el ejecutable generado, lo consigo al perfil, sin recibir bloqueo proceso, incluso recibió el análisis de archivos. Sin embargo, la aplicación de monitoreo se cuelga al final del perfil. Sospecho que está relacionado con IDE, pero no puedo asegurarlo.

+0

Uh, tal vez su antivirus está interfiriendo? –

+0

Hmmm. Podría ser. Debo comprobar ... –

+0

Agregué la ubicación en los archivos ignorados para el antivirus. Sigue sin funcionar. –

Respuesta

0

función mango Use process explorer 's (Ctrl + F) para averiguar qué proceso tiene ProfilingTest.exe abierta. Eso te llevará al próximo paso del proceso de resolución de problemas.

+0

No funciona. El proceso de inicio y detención es demasiado corto para observar el bloque ... –

+0

No lo he probado antes, pero procmon (también de sysinternals) podría darle la misma información en tiempo real .. – pepsi

10

desde el asistente de rendimiento de elegir ejecutable como su objetivo y dar a la ruta de acceso al ejecutable. Este problema resuelto para mí.

+0

Esto es lo que finalmente hice (revise mi último comentario a mi pregunta). Como se ve, no soy el único con este problema :) –

+0

+1 Sí, eso funcionó para mí también. – NTDLS

0

Otra solución alternativa que encontré fue a hacer lo siguiente:

1) Launch performance wizard 
2) choose your project 
3) un-check the box to automatically start your profiling 
4) Choose "New Performance Session" and choose your project again (top button on Performance explorer window) 
5) Select your performance session from "Targets" and choose "Start Profiling" 

Me pregunto si los buenos chicos de Redmond han tomado nota de esta ..

Saludos.

Cuestiones relacionadas