2009-03-06 15 views
5

Tengo la sensación de que ya puedo saber la respuesta a esta pregunta, pero lo preguntaré de todos modos..Net Profiling API se acerca a

¿Hay alguna forma de mejor de usar la API de perfiles de .Net que la ruta COM/Managed C++?

Mi renuencia a seguir el enfoque COM sugerida es como tal:

  • Esfuerzo, que es un montón de trabajo de campo para empezar
  • ¿No te gusta la magia implicada en conectar el C++ DLL, no se fácil de redistribuir con proyectos
  • Se siente difícil de probar por unidad
  • No quiero comportarse en C++. Podría crear una capa de interoperabilidad, pero eso es aún más trabajo
  • Difícil de depurar. De lo que he reunido no se puede adjuntar un depurador al C++ capa real, por lo que está de vuelta a los archivos de registro y tales

me encontré con un proyecto llamado NProf, que fue un intento de envolver el API con una capa administrada Desafortunadamente no se ha actualizado desde 2003.

¿Alguien tiene alguna pista que pueda ayudar? Todo esto solo se siente un poco desagradable.

Aclaraciones:

  • Esto describe la API que me refiero: The Profiling API
  • Estoy usando Visual Studio 2008, y la versión 3.5 del marco
+0

No sé en qué edición de VS está, pero consulte aquí: http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.profiler.aspx. Algunas de las cosas están disponibles para la edición de 2005 también. – dirkgently

+0

y está utilizando la versión de marco de red? 2,3,3,5? – Avram

+0

Versiones clarificadas en la actualización. –

Respuesta

2

Puede echar un vistazo a la tapa de la pieza. Es una herramienta de cobertura de código (GPL) pero funciona de manera similar a NCover, lo que significa que utiliza API de creación de perfiles para hacer su trabajo. No estoy seguro de qué tan bueno o malo es el código, y de cuánta ayuda será para usted (la GPL también puede ser un problema), pero es algo que tal vez quiera consultar. Se actualizó a fines del año pasado y luego guardó silencio, por lo que no estoy seguro de si el proyecto aún está activo.

+0

Gracias, verifico la licencia y veo lo que me permite hacer. –

0

perfiles es un área de nivel muy bajo y sensible al rendimiento, por lo tanto, está expuesta como una API de bajo nivel. Creo que esto solo viene con el territorio para este tipo de funcionalidad.

Puede explicar el problema de la depuración ... debería poder adjuntar un depurador no administrado al ejecutable administrado que está perfilando y usarlo para depurar su dll profiler.

+0

El problema de la depuración es solo hearsey. Todavía tengo que comenzar un trabajo y acabo de leer en mis viajes que es difícil depurar el lado no administrado de las cosas. Si no es así, entonces eso es genial. –

+0

Consulte mi comentario anterior para saber cómo depurar el código del perfilador de C++ in-proc. –