2009-03-06 13 views
5

Ho la sensazione che potrei già sapere la risposta a questa domanda, ma lo chiederò comunque.. Approcci dell'API di profilo netto

Esistono migliori modi di utilizzare l'API .Net Profiling rispetto al percorso COM/Managed C++?

La mia riluttanza a seguire l'approccio COM suggerito è come tale:

  • Sforzo, si tratta di un sacco di lavoro di gambe per iniziare
  • Non piace la magia coinvolto nel collegare il C++ DLL, non facile da ridistribuire con i progetti
  • Sembra difficile testare l'unità
  • Non si desidera il comportamento in C++. Potrei creare uno strato intermedio, ma questo è ancora più lavoro
  • Difficile eseguire il debug. Da quello che ho raccolto, non è possibile collegare un debugger al C++ attuale livello, quindi sei di nuovo ai file di log e quali

mi sono imbattuto in un progetto chiamato NProf, che era un tentativo di avvolgere il API con un livello gestito. Purtroppo non è stato aggiornato dal 2003.

Qualcuno ha dei contatti che potrebbero aiutare? Tutto questo sembra solo un po 'brutto.

Chiarimenti:

  • Questo descrive l'API a cui mi riferisco: The Profiling API
  • sto usando Visual Studio 2008, e v3.5 del quadro
+0

Non so su quale edizione VS ci si trova, ma dare un'occhiata qui: http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.profiler.aspx. Alcune delle cose sono disponibili anche per l'edizione 2005. – dirkgently

+0

e si sta utilizzando la versione del framework di rete? 2,3,3,5? – Avram

+0

Versioni chiarite in aggiornamento. –

risposta

2

È possibile dare un'occhiata a Part-Cover. È uno strumento di copertura del codice (GPL) ma funziona in modo simile a NCover, il che significa che utilizza l'API di profilazione per svolgere il proprio lavoro. Non sei sicuro di quanto sia buono o cattivo il codice e di quanto aiuto sarà per te (GPL potrebbe essere un problema), ma è qualcosa che potresti voler dare un'occhiata. È stato aggiornato alla fine dell'anno scorso e poi è diventato silenzioso, quindi non sono sicuro che il progetto sia ancora attivo.

+0

Grazie, controllerò la licenza e vedrò cosa mi permette di fare. –

0

Profiling è un'area di livello molto basso e sensibile alle prestazioni, quindi è esposta come API di basso livello. Penso che questo arrivi solo con il territorio per questo tipo di funzionalità.

Puoi approfondire il problema di debug ... dovresti essere in grado di allegare un debugger non gestito al file eseguibile gestito che stai profilando e utilizzarlo per eseguire il debug della tua DLL del profiler.

+0

Il problema del debug è solo hearsey. Devo ancora iniziare qualsiasi lavoro e ho appena letto sui miei viaggi che è difficile eseguire il debug del lato non gestito delle cose. Se non lo è, allora è grandioso. –

+0

Vedere il mio commento sopra per come eseguire il debug del codice profiler in-proc C++. –

Problemi correlati