Nieobsłużone wyjątki przechwytywane są przez debugera Visual Studio JIT, a nie program Dr Watson lub debugera innych firm po zainstalowaniu niektórych wersji programu SQL Server 2005


Objawy


Rozważ następujący scenariusz:
  • Używasz programu Dr Watson lub debugera innych firm do połowu nieobsługiwanych wyjątków, które mogą wystąpić, gdy program jest uruchomiony.
  • Możesz zainstalować jedną z następujących produktów firmy Microsoft:
    • SQL Server 2005 Standard Edition
    • SQL Server 2005 Developer Edition
    • SQL Server 2005 Enterprise Edition
    • SQL Server 2005 Workgroup Edition
    • Każdy produkt, który zawiera jeden z poprzednio wymienionych produktów
      (Na przykład zainstalować program Microsoft Windows Small Business Server 2003 R2 Premium Edition.)
W tym scenariuszu później nieobsłużone wyjątki przechwytywane są przez program Microsoft Visual Studio debugger just-in-time (JIT). Na przykład jeśli wystąpi wyjątek zapobieganie wykonywania danych (DEP), pojawi się okno dialogowe wymagające interwencji użytkownika rozpocząć debugowanie JIT lub zignorować wyjątek.

Przyczyna


Ten problem występuje, ponieważ proces instalacji programu SQL Server 2005 wywołuje proces instalacji programu Visual Studio. Proces instalacji programu Visual Studio zmienia domyślny debuger aplikacji do debugera Visual Studio JIT. Zmiana ta występuje niezależnie od tego, który debuger poprzednio używane. Nie otrzymasz powiadomienia to zostało zmienione.

Rozwiązanie


Aby rozwiązać ten problem, użyj jednej z następujących metod. Użyć metody, która jest bardziej odpowiednie dla danej sytuacji.

Metoda 1: Ponownie włączyć program Dr Watson do połowu nieobsługiwanych wyjątków

Można ponownie włączyć program Dr Watson do połowu nieobsłużone wyjątki. Po wykonaniu tej czynności debugera Visual Studio JIT już nie będzie przechwytywać nieobsłużonymi wyjątkami. Aby to zrobić, wykonaj następujące kroki:
  1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz polecenie cmd, a następnie kliknij OK.
  2. Wpisz następujące polecenie, a następnie naciśnij klawisz ENTER:
    polecenie drwtsn32 -i

Metoda 2: Ponowne włączenie debugera innych firm do połowu nieobsługiwanych wyjątków

Ważne Niniejsza sekcja, metoda lub zadanie zawiera informacje dotyczące modyfikowania rejestru. Jednak niepoprawne zmodyfikowanie rejestru może spowodować poważne problemy. W związku z tym upewnij się, że wykonujesz następujące kroki ostrożnie. Aby zapewnić sobie dodatkową ochronę, wykonaj kopię zapasową rejestru przed przystąpieniem do modyfikacji. Wtedy będziesz mógł przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat wykonywania kopii zapasowej i przywracania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
322756 jak wykonać kopię zapasową i przywrócić rejestr w systemie Windows


Jeśli poprzednio używany debuger innych firm do połowu nieobsłużonymi wyjątkami, można je ponownie włączyć. Po wykonaniu tej czynności debugera Visual Studio JIT już nie będzie przechwytywać nieobsłużonymi wyjątkami. Aby to zrobić, wykonaj następujące kroki:
  1. W edytorze tekstów, takim jak Notatnik wklej tekst przedstawiony poniżej. Wklej tylko tekst, który jest odpowiedni dla systemu operacyjnego.
    • 32-bitowy system operacyjny
      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
      "Auto"="1"
      "Debugger"="<DebuggerParameters>"
    • 64-bitowy system operacyjny
      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
      "Auto"="1"
      "Debugger"="<DebuggerParameters>"

      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug]
      "Auto"="1"
      "Debugger"="<DebuggerParameters>"

  2. Zastąp tekst < DebuggerParameters > odpowiednie wartości i parametry, aby uruchomić debugera. Zajrzyj do dokumentacji produktu debugera, aby uzyskać więcej informacji.
  3. W menu plik kliknij polecenie Zapisz.
  4. Na liście Nazwa pliku wpisz debugger.reg.
  5. Na liście Zapisz w zlokalizuj folder, w którym chcesz zapisać plik Debugger.reg, a następnie kliknij przycisk Zapisz.
  6. Zamknij Edytor tekstów.
  7. Zlokalizuj i kliknij dwukrotnie plik debugger.reg , który został zapisany w kroku 5.
  8. Gdy zostanie wyświetlony monit, kliknij przycisk Tak .

    Ważne Debuger może wymagać dodatkowych kroków, aby włączyć go ponownie. Zajrzyj do dokumentacji produktu debugera, aby uzyskać więcej informacji.

Więcej informacji


Aby uzyskać więcej informacji na temat Visual Studio okno dialogowe pojawia się, gdy nieobsługiwany wyjątek odwiedź następującą witrynę Microsoft Developer Network (MSDN) w sieci Web:Aby uzyskać więcej informacji dotyczących sposobu włączania i wyłączania programu Dr Watson dla Windows kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
188296 jak wyłączyć program Dr Watson dla Windows
Aby uzyskać więcej informacji o tym, jak włączyć dołączenie debugowania w programie Microsoft.NET Framework odwiedź następującą witrynę MSDN w sieci Web:
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, domyślnych ani żadnego innego rodzaju, odnośnie do wydajności lub niezawodności tych produktów.