2010-11-22 25 views
2

Uygulamamda bir "yükleyici" yürütülebilir (buna "Loader.exe" diyoruz). DLL dosyaları için belirli bir klasörü arar ve bunları tek tek yükler. Daha sonra kullanıcı hangi eklentinin çalışacağını seçebilir (eklentiler pencerelere ve iş mantığına sahiptir). Bu benim şu anda uyguladığım bir eklenti mimarisidir.Dinamik DLL'leri yükleyen bir .NET uygulaması profili oluşturma

Buradaki sorun, WPF ve profil oluşturucular için çalışma zamanı oluşturma araçlarının hiçbirinin yüklü DLL'lerde neler olduğunu görmemesidir. Örneğin. CLR Profiler hiç bir veri toplamaz.

Projenin DLL yükleme bölümünü yeniden yazmadan bunu düzeltmek için yapabileceğim bir şey var mı? Ve açıkçası, neden bu profilciler yüklü DLL kodunu görmüyorlar? VS hata ayıklama bunların içinde harika çalışıyor.

+0

VS hata ayıklama, bunlardan çok işe yaradığından, performans sorunlarını bulmak için rasgele aramayı kullanabilirsiniz. (http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024) Hızlı, kirli, ucuz ve (IMHO) en iyisidir. –

+0

Evet, hata ayıklayıcı düzgün çalışıyor. Ve bazı 'profilleme' yapmak için kullanılabilir. Yine de, her zaman hata ayıklaması kolay olmayan karmaşık kodlarla uğraşıyorum. Ayrıca, WPF bağlamaları ile tetiklenebilen hata ayıklama şeyleri ve yöntem çağrıları çok açık değildir. Sonuç olarak, VS hata ayıklayıcısını beğenirim ve bir şeyler yapmak için kullanılabileceğine katılıyorum, ancak çalışan bir profesör, neler olup bittiğini ve hangi yöntemlerin bu kadar verimli olmadığını görmek için çok daha iyi bir seçenek olurdu. – Jefim

+0

@Jefim: MS ürünleri genel olarak çok yüksek kalitededir, ancak profilleme genel yanlış anlamalardan muzdariptir. "Neler olup bittiğine genel bakış ve hangi yöntemlerin bu kadar verimli olmadığını" gösterir. Yöntemler genellikle verimsizdir ve profilciler size gerçekten neler olduğunu söylemez. Sadece bir şeyler ölçüyorlar. Eğer boşa zamanınızı kaldırmak istiyorsanız, daha çok ağaç cerrahı olarak düşünmek zorundasınız. Stackshots size hangi aktivitelerin en çok zaman harcadığını ve hangi ifadelerin (yöntemlerin) yoğunlaştığını söyler. –

cevap

0

Çalışmıyorsa profilerim www.xteprofiler.com'u deneyin, düzelteceğim.