Udostępnij za pośrednictwem


Optymalizacja JIT i debugowania

Podczas debugowania aplikacji zarządzanych, Visual Studio pomija optymalizacji kodu just-in-time (JIT) domyślnie.Pomijanie JIT optymalizacji oznacza, że debugowania-zoptymalizowany kod.Kod działa nieco wolniej, ponieważ nie jest optymalizowany, ale Twoje doświadczenia debugowania jest znacznie bardziej szczegółowej.Debugowanie zoptymalizowanego kodu trudniej i zalecane tylko, jeśli wystąpi błąd, który występuje w zoptymalizowanego kodu, ale nie można odtworzyć w wersji zoptymalizowana.

Optymalizacja JIT jest kontrolowany w Visual Studio przez załadować optymalizacji pominąć JIT w module opcji.Tej opcji można znaleźć na Ogólne strony pod Debugowanie węzeł w Opcje okno dialogowe.

Jeśli wyczyścisz załadować optymalizacji pominąć JIT w module opcji, można debugować zoptymalizowanego kodu JIT, ale może być ograniczona możliwość debugowania, ponieważ zoptymalizowanego kodu nie pasuje do kodu źródłowego.W efekcie, takie jak debuger systemu windows zmiennych lokalnych i Autos okna mogą nie być wyświetlane jak najwięcej informacji, gdyby były debugowania kodu zoptymalizowana.

Innym ważnym różnica dotyczy debugowania po prostu mój kod.Jeśli debugowania tylko moje kodu, debuger uważa zoptymalizowanego kodu kod-użytkownik, który nie powinien być wyświetlany podczas debugowania.W związku z tym jeśli debugowania JIT zoptymalizowany kod, prawdopodobnie chcesz wyłączyć tylko moje kodu.Aby uzyskać więcej informacji, zobacz [NIB] 12/13 Porady: wykonywanie krok po kroku do funkcji Tylko mój kod.

Należy pamiętać, że załadować optymalizacji pominąć JIT w module opcja powoduje pominięcie optymalizacji kodu, gdy są załadowane moduły.Jeśli dołączony do procesu, który jest już uruchomiony, może zawierać kod, który jest już załadowany, skompilowany JIT i zoptymalizowany.Załadować optymalizacji pominąć JIT w module opcja nie ma wpływu na taki kod, chociaż wpłynie na moduły, które są ładowane po dołączeniu.Ponadto załadować optymalizacji pominąć JIT w module opcja nie wpływa na moduły, takie jak WinForms.dll, które są tworzone z NGEN.

Zobacz też

Zadania

[NIB] 12/13 Porady: wykonywanie krok po kroku do funkcji Tylko mój kod

Koncepcje

Zarządzany proces realizacji

Inne zasoby

Debugowanie kodu zarządzanego

Dołączanie do uruchomionych procesów