2012-09-06 16 views
5

Bir F # sınıfına başvuran bir C# windows uygulaması içeren bir Visual Studio projem var. Visual Studio 2010 performans uzmanını enstrümantasyon modunda çalıştırdığımda, C# uygulaması tarafından çağrıldığı yerden başka bir F # sınıfı için hiçbir enstrümantasyon bilgisi almıyorum.F # Performans Profiler Aletleri Çalışmıyor

Örnekleme modunda çalışırken, düzgün çalışıyor.

Projeyi VS2012'de çalıştırmayı denedim ve aynı sorunu yaşıyorum.

Visual Studio'nun F # sınıfı için enstrümantasyon bilgilerini göstermesini nasıl sağlayabilirim?

cevap

4

Enstrümantasyon modunda çalışırken, profiler performans verilerini kaydetmek için her yöntemin giriş/çıkış noktalarına bir miktar kod enjekte eder; bununla birlikte, bu profil kodunu, gerçekten profil oluşturduğunuz düzeneğe (örneğin, C# uygulamanıza) ve başvurulan derlemelerden hiçbirine enjekte etmez.

Doğrudan F # profilini izlemeniz gerekiyor. Bir kütüphane olduğunu varsayacağım, bu durumda C# uygulamanızı başlangıç ​​programı olarak belirtmeniz gerekir - böylece profiler C# uygulamasını başlatır, ancak aslında F # kitaplığını algılar ve profiller. Bunu yapabilmek için How to: Specify the Binary to Start numaralı MSDN makalesine bakın.

+0

Bu bir muamele yaptı. –

+1

Başlatma performansı sihirbazını kullandım, 'araçlar' ve ardından 'Bir dinamik bağlantı kitaplığı' seçildim. Ben exe oluşturduğu klasörden DLL ve exe seçtim. Başka bir şey, x86'da çalıştırmam gerekti, çünkü herhangi bir işlemci ile çalışmıyormuş gibi. Helo için teşekkürler. –