2011-11-16 12 views
9

Najpierw chciałbym odejść od pytań "odczekaj chwilę".Debugowanie Silverlight w Visual Studio 2010 zawiesza się przy użyciu klawiatury

  • Tak, przeczytałem każdy wątek z podobnymi tytułami i przedmiotami na SO i poza nim.
  • Tak, używam najnowszej wersji dodatku SP1 i wszelkich potencjalnych poprawek, które mogą być związane z tym problemem.

Więc o swoistości, tu jest mój problem:

Kiedy jestem debugowania aplikacji Silverlight i uderzy punkt przerwania, wszystko działa w porządku tak długo, jak korzystać z myszy. Mogę kontynuować, krokować, zatrzymywać debugowanie, wyłączać i włączać punkty zapalne, wszystko dobrze - tak długo, jak robię to za pomocą myszy.

Ale gdy korzystam z klawiatury, program Visual Studio zawiesza się na kilka sekund, czasem ponad minutę. To jest dowolne użycie klawiatury. Ale po krótkim czasie zaczyna działać poprawnie, dopóki ta sesja debugowania się nie zakończy. Ale następna sesja debugowania (niezależnie od tego, czy używam tego samego wystąpienia Casiniego, czy nie), zrobi dokładnie to samo.

Kiedy mówię o jakimkolwiek użyciu klawiatury, mam na myśli. F5 (Kontynuuj), Shift-F5 (Zatrzymaj debugowanie), F10 (Krok po kroku), a także wpisanie w oknie Natychmiastowe lub nawet naciśnięcie klawisza ALT w celu podświetlenia menu.

Na przykład, jeśli spróbuję wpisać coś w oknie Natychmiastowym, to zawiesza się na około 15 sekund, a następnie pokazuje pierwszy klucz i powtarza wzór około 5 razy, aż zwolni i wszystko jest w porządku.

Kiedy mówię "zawiesza się", nie mówię tylko o Visual Studio, ale zawiesza się cały system operacyjny, z wyjątkiem możliwości poruszania myszą. Mimo to kursor myszy pozostaje taki, jaki był, gdy się zawiesił, niezależnie od programu, w którym się zakończył, na przykład selektora tekstu.

Dzieje się tak tylko w przypadku Silverlight i nie ma znaczenia, której wersji używam.

Oto co biegnę:

  • Windows 7 Professional 64-bit, wszystkie najnowsze aktualizacje włączone, 12 GB RAM & 1,5 TB HD.
  • Visual Studio 2010 Ultimate ze wszystkimi najnowszymi aktualizacjami.

Całe oprogramowanie jest legalne i już próbowałem usunąć i/lub wyłączyć prawie wszystko, co można usunąć lub wyłączyć, łącznie z rozszerzeniami. Użyłem Process Explorer od Sysinternals, aby zabić lub zatrzymać wszystko, co mogę. Próbowałem również na bardzo prostej aplikacji Silverlight z niczym więcej niż jednym wierszem kodu, który nie ma dostępu do niczego.

EDYCJA: Zapomniałem wspomnieć, że nie mam również ładowania symboli poza "Just My Code", które normalnie by chciałem i próbowałem każdego ustawienia debugowania, które również mogę wymyślić. I Intellitrace jest również wyłączony (ponieważ mam Ultimate), ale to też nie ma znaczenia.

AKTUALIZACJA (11/18): Robi się coraz dziwniejsza. Ustaliłem, że tymczasowe wstrzymanie nie występuje tylko wtedy, gdy Visual Studio ma fokus. Kiedy VS (podczas super-prostej aplikacji Silverlight) przechodzi do trybu debugowania, dostęp do klawiatury AT ALL powoduje ten sam efekt.TAK, wydaje się, że musi (w jakiś sposób) być powiązany (przynajmniej w części) z moją instalacją systemu Windows, w przeciwieństwie do mojego stwierdzenia w komentarzach, ale nie jestem w stanie pojąć, w jaki sposób. A jeśli inne programy robią coś, gdy zamarza, opóźnienie jest dłuższe (co ma pewien sens z objawami). Nadal jestem kompletnie przegrany.

Ktoś ma jakieś pomysły lub widzisz to wcześniej? To naprawdę frustrujące.

+0

Nie powinien mieć nic wspólnego z 64-bitowym, ponieważ żaden z VS ani Silverlight nie działa w trybie x64. Jeśli po prostu utworzysz nowy projekt Silverlight i ustawisz punkt przerwania w zdarzeniu inicjującym App.xaml.cs, czy to się zawiesza? – Bryant

+0

Miałem również tego rodzaju problemy. Potem mam nowego laptopa. I odeszli. Myślę, że to twoja instalacja Windows, a nie instalacja Visual Studio lub Silverlight. – bperreault

+0

Bryant: Tak, spróbowałeś tego. (Jest w linii powyżej EDITU) –

Odpowiedz

16

Rozwiązałem problem.

Okazało się, że jest to pasek narzędzi LastPass. To bardzo przydatna rzecz i używam jej od lat bez problemu. Tak, tak, paski narzędzi są złe, rozumiem. :)

Wyłączenie go w IE rozwiązało problem całkowicie. Nadal mogę go używać w FF (która jest moją główną przeglądarką, poza pracą, dla której używam IE) i wszystko działa dobrze.

To dziwne, że pasek narzędzi będzie działał tylko przy debugowaniu SL. Nie miałem problemu z debugowaniem ASP.Net i nie miałem żadnych problemów, gdy aplikacja SL była uruchomiona, tylko kiedy trafiłem w punkt przerwania I uderzyłem klawisz w ciągu pierwszych 15 sekund.

W każdym przypadku problem rozwiązany i dziękuję za sugestie.

+0

Dokładnie ten sam problem tutaj dla mnie. To doprowadzało mnie do szału, dopóki nie przeczytałem twojego posta tutaj. Teraz wszystko jest dobrze. Stukrotne dzięki! – Kilhoffer

+0

@Kilhoffer cieszę się, że moje doświadczenie pomogło. Jak na ironię, nadal przydaje się idea, że ​​paski narzędzi są złe. Ale lubię Lastpass wystarczy, aby zachować go w moich innych przeglądarkach. –

+0

ty, Panie, jesteś moim bohaterem. Właśnie uratowałeś mnie od szaleństwa. – Entrodus

1

Spróbuj zmienić ustawienie LowLevelHooksTimeout od 5000 do czegoś niskiego rejestru, jak 300. Może to być na

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\Control Panel\Desktop 

lub

HKEY_CURRENT_USER\Control Panel\Desktop 

(pierwsze ustawienie w kluczu Polityka wydaje się globalne ustawienia użytkownika przesłanianie).

Powiązane problemy