2010-01-12 15 views
35

Otrzymuję powtarzające się błędy dotyczące właściwości ReadOnly na licznikach wydajności, gdy próbuję debugować aplikację usługi Windows .NET. Ta aplikacja działa dobrze na Windows Vista x86 lub x86 Windows 2003. Po prostu przestał działać na mojej nowej 64-bitowej maszynie.Żądany licznik wydajności nie jest niestandardowym licznikiem, musi zostać zainicjowany jako ReadOnly

Uruchomiłem odpowiednie wywołania InstallUtil na 64-bitowej i 32-bitowej linii poleceń VCVARS.bat, w trybie administratora. Otrzymuję bez błędów konfigurowania kategorii i każdego licznika perfekcji. Ale, niezależnie od tego, czy mam ustawić CTR perf jako tylko do odczytu lub nie, mam to:

Żądana Counter Wydajność jest nie lada zwyczaj, to musi być zainicjowany jako tylko do odczytu.

UPDATE

I ponownie zainstalować urządzenie w wersji 32-bitowej systemu Windows 7, a ja wciąż dziwnie się ten błąd. Jedyne co się zmieniło to przejście z Windows Vista Business na Windows 7 Professional. Czy to dzwoni jakieś dzwonki?

+1

wpadłem na ten temat dawno temu i myślę, że skończyło się tylko tworzenie niestandardowego licznika za to, co muszę zrobić, więc to nie jest pomocny .. ale mogę powiedzieć, że nie był” t problem z 32 v 64 bit w tym przypadku, więc może nie być warto, abyś ścigał ten ogon zbyt długo. –

+0

Dzięki Jim, zaczynam myśleć, że szybsze byłoby dla mnie otworzenie maszyny i ponowne zainstalowanie okien x86 niż znalezienie rozwiązania tego problemu! Smutny. Ale prawdziwe. –

Odpowiedz

49

Jest to spowodowane licznikiem wydajności (lub kategorią) not existing, , ale zawiera komunikat o błędnym błędzie.

Spójrz na perfmon dla licznika, którego nie powinno być na odpowiednich maszynach.

Uważam, że czasami dzieje się to z licznikami .Net perf (nie mam pojęcia dlaczego), ale using lodctr odzyskuje je. Jeśli wskażesz, który licznik perfekcji chcesz uzyskać, możemy Ci pomóc.

  1. Zauważ, że przykład podszyta jest dla .Net 1.1, dostosuj odpowiednio do różnych ram.
+4

Używam .Net 4.0.30319. Próbowałem używać lodctr (używane ustawienia v4), ale problem nadal występuje. Przesłałem zrzut ekranu z moim komunikatem o błędzie tutaj: http://imgur.com/eJ4uk – robasta

+1

+1. Od wersji .NET 2.0 pojawia się ten sam komunikat o błędzie dla licznika, który nie istnieje. –

+0

Mam taki sam problem jak robasta. czy mógłbyś zasugerować w jakikolwiek inny sposób, daj nam znać, jeśli potrzebujesz innych szczegółów, takich jak dziennik błędów zdarzeń, –

8

Wpadłem na wariant tego problemu, podczas gdy mogłem zobaczyć kartę licznika wydajności .net w odbłyśniku, która nie zawierała żadnych liczników.

I had to re-add them

lodctr /R 
cd C:\Windows\Inf\.NETFramework 
lodctr corperfmonsymbols.ini 
+0

Musiałem najpierw wyładować liczniki wydajności za pomocą 'unlodctr', jak opisano w zaznaczonej odpowiedzi. –

+0

spróbuj, ale wciąż otrzymujesz ten sam błąd. –

Powiązane problemy