2010-11-29 21 views
9

Estoy usando el Analizador de Visual Studio 2008 Development Edition. Para realizar "perfiles específicos", puedo establecer filtros de perfilador manualmente a través de "marcas" cada vez que estoy adjuntado a mi código de prueba actualmente en ejecución. Pero me gustaría insertar las marcas programáticamente en su lugar. Me gustaría agregar una llamada, instrucción o directiva a mi código de prueba que, cuando se ejecuta, le dice al perfilador "esta es una 'marca' llamada 'BeginWork'" y "esta es una 'marca' llamada 'EndWork'".Insertar marcas de perfil mediante programación

¿Hay alguna manera de hacerlo? Si no, ¿tiene Visual Studio 2010 esa capacidad?

+0

Creo que vale la pena mencionar que he encontrado que el generador de perfiles VS2008 es explosivamente terrible al manejar código no administrado. YMMV. Utilizamos AQTime nosotros mismos, pero no estoy muy contento con él. –

Respuesta

10

Puede utilizar la API de Profiler para insertar marcas de forma programática. Consulte la documentación del método DataCollection.CommentMarkProfile en MSDN.

Solo tiene que agregar una referencia a Microsoft.VisualStudio.Profiler.dll desde 'Archivos de programa [x86] \ Microsoft Visual Studio 9.0 \ Herramientas del equipo \ Herramientas de rendimiento' para usar la API administrada.

Su código de prueba podría ser algo así como:

MarkOperationResult result; 
result = DataCollection.CommentMarkProfile(markID1, "BeginWork"); 
// Validate result... 

SomeOperation(); 

result = DataCollection.CommentMarkProfile(markID2, "EndWork"); 
// Validate result... 
+0

¿Alguna idea de si hay un equivalente de Silverlight? –

Cuestiones relacionadas