2012-09-06 10 views
5

Mam projekt Visual Studio, który zawiera aplikację okna C#, która odwołuje się do klasy F #. Kiedy uruchamiam profiler wydajności Visual Studio 2010 w trybie oprzyrządowania, nie otrzymuję informacji o oprzyrządowaniu dla klasy F # poza tym, w którym została wywołana przez aplikację C#.F # Performance Profiler Instrumentation Not Working

Po uruchomieniu w trybie próbkowania działa dobrze.

Próbowałem uruchomić projekt w VS2012 i uzyskać ten sam problem.

Jak ustawić program Visual Studio, aby wyświetlał informacje o instrumentach dla klasy F #?

Odpowiedz

4

Po uruchomieniu w trybie oprzyrządowania profiler wstrzykuje kod w punkcie wejścia/wyjścia każdej metody, aby zarejestrować dane dotyczące wydajności; jednak tylko wstrzykuje ten kod profilowania do zespołu, który faktycznie profilujesz (np. do aplikacji C#), a nie do żadnego z zestawów, do których istnieją odnośniki.

Musisz więc bezpośrednio profilować zestaw F #. Zakładam, że jest to biblioteka, w takim przypadku musisz określić swoją aplikację C# jako program startowy - więc program profilujący uruchomi aplikację C#, ale faktycznie będzie instrumentował i profilował bibliotekę F #. Zobacz artykuł MSDN How to: Specify the Binary to Start, aby uzyskać ustawienia do tego.

+0

To zadziałało. –

+1

Użyłem kreatora wydajności uruchamiania, wybranej "oprzyrządowania", a następnie "Biblioteki dynamicznego łącza". Wybrałem DLL i exe z folderu, w którym buduje się exe. Jeszcze jedna rzecz, musiałem uruchomić go w x86, ponieważ nie działało z żadnym procesorem. Dzięki za helo. –