2009-03-06 7 views
5

J'ai le sentiment que je connais déjà la réponse à cette question, mais je vais quand même la poser.L'API .Net Profiling approche

Y a-t-il de meilleures façons d'utiliser l'API .Net Profiling que la route COM/Managed C++?

Ma réticence à suivre l'approche COM proposée est en tant que tel:

  • Effort, il y a beaucoup de travail sur le terrain pour commencer
  • Ne pas comme la magie impliquée dans l'accrochage le C++ dll, non facile à redistribuer avec les projets
  • Semble difficile à tester unitaire
  • Ne souhaite pas de comportement en C++. Je pourrais créer une couche d'interopérabilité, mais c'est encore plus de travail
  • Difficile à déboguer. D'après ce que j'ai compris, vous ne pouvez pas attacher un débogueur à la couche C++ réelle, de sorte que vous êtes de retour à des fichiers journaux et tels

je suis tombé sur un projet appelé NProf, qui était une tentative d'envelopper le API avec une couche gérée Malheureusement, il n'a pas été mis à jour depuis 2003.

Quelqu'un a-t-il des fils qui pourraient aider? Tout cela me semble juste un peu méchant.

Clarifications:

  • Cela décrit l'API dont je parle: The Profiling API
  • J'utilise Visual Studio 2008 et v3.5 du cadre
+0

Vous ne savez pas sur quelle édition VS vous êtes mais regardez ici: http://msdn.microsoft.com/fr-fr/library/microsoft.visualstudio.profiler.aspx. Certains articles sont également disponibles pour l'édition 2005. – dirkgently

+0

et vous utilisez la version de cadre net? 2,3,3,5? – Avram

+0

Versions clarifiées dans la mise à jour. –

Répondre

2

Vous pouvez jeter un oeil à Part-Cover. C'est un outil de couverture de code (GPL) mais il fonctionne de la même manière que NCover, ce qui signifie qu'il utilise l'API de profilage pour faire son travail. Vous ne savez pas à quel point le code est bon ou mauvais, et de combien d'aide cela vous apportera (la GPL peut aussi être un problème), mais c'est quelque chose que vous voudrez peut-être examiner. Il a été mis à jour à la fin de l'année dernière et est ensuite resté silencieux, donc je ne suis pas sûr que le projet soit toujours actif.

+0

Merci, je vais vérifier la licence et voir ce que cela me permet de faire. –

0

profilage est une zone sensible au niveau très bas et à la performance, donc elle est exposée comme une API de bas niveau. Je pense que cela vient avec le territoire pour ce genre de fonctionnalité. Pouvez-vous élaborer sur le problème de débogage ... vous devriez être en mesure de joindre un débogueur non géré à l'exécutable géré que vous profilez et l'utiliser pour déboguer votre profileur dll.

+0

Le problème de débogage est juste hearsey. Je n'ai pas encore commencé à travailler et je viens de lire dans mes voyages qu'il est difficile de déboguer le côté non géré des choses. Si ce n'est pas le cas, alors c'est génial. –

+0

Voir mon commentaire ci-dessus pour savoir comment déboguer le code du profileur C++ in-proc. –

Questions connexes