Co nowego w debugerze Visual Studio 2013
Spis treści
Debugowanie asynchroniczne w aplikacjach sklepu Windows Store
Tylko mój kod dla debugowania C++ i JavaScript
64-bitowa edycja i kontynuacja dla .NET Framework
Inspekcja wartości zwracanych dla metod .NET Framework
Analiza pamięci .NET Framework z plikami zrzutu
Debugowanie z narzędziami debugowania dla systemu Windows
Debugowanie mapy kodów
Debugowanie IntelliTrace
Debugowanie asynchroniczne w aplikacjach sklepu Windows Store
Debuger ma ulepszoną obsługę asynchronicznego modelu programowania środowiska wykonawczego systemu Windows.W językach środowiska .NET Framework model wyraża się poprzez słowo kluczowe async/await (Async/Await w języku Visual Basic).W językach C++ i C++/Cx obiekty task i kontynuacje .then wspierają model.JavaScript wykorzystuje natomiast obiekty promise i kontynuacje .then.
Okno Stos wywołań zawiera metody, które wywołują funkcje asynchroniczne zgodnie z ramkami informacyjnymi [Async Call].
Okno Zadania (dawniej okno Zadania równoległe) wyświetla nowy model jako zadania, wraz z rozszerzonymi informacjami o zadaniach.Zobacz Korzystanie z okna zadań.
Ulepszone raportowanie o wyjątkach dla aplikacji sklepu Windows Store napisanych w C++ Debuger programu Visual Studio obsługuje teraz przechwytywanie śladów stosu wyjątków C++, kiedy występują one w składnikach środowiska wykonawczego systemu Windows.Debuger może wyświetlać te przechwycone ślady stosu, ilekroć są one dostępne w obiektach wyjątków pochodzących z obiektu Platform::Exception.
Okno dialogowe wyjątku wyświetlane przez debuger po wystąpieniu wyjątku pierwszej szansy wyświetla ślad stosu z chwili wystąpienia wyjątku.
Można sprawdzić przyszłe wyjątki środowiska wykonawczego Windows w sesji debugowania przez dodanie zmiennej pozornej$exceptionstack do okna Czujka.Jeśli wystąpi wyjątek w bieżącym wątku, można rozwinąć wpis w oknie Czujka, aby zobaczyć ślad śledzenia stosu i przejść do kodu źródłowego, który spowodował wyjątek.Można również monitorować $exceptionstack, wybierając łącze Dodaj ślad stosu wyjątku do monitorowania w oknie dialogowym wyjątku.
Aby uzyskać więcej informacji, zobacz ten wpis w programie Visual Studio ALM + Team Foundation Server blogu.
Tylko mój kod dla debugowania C++ i JavaScript
Just My Code hides non-user code in the Call Stack window, such as the code in system, Win.JS and 3rd party libraries.Tylko mój kod sprawia, że łatwiej odnaleźć swoje metody podczas debugowania kodu asynchronicznego lub debugowania w trybie mieszanym z językami JavaScript i C++.
Tylko mój kod jest opcją domyślnie włączoną w Visual Studio 2013.Aby wyświetlić cały kod w stosie wywołań, wybierz polecenie Opcje i ustawienia w menu Debugowanie, a następnie wyczyść pole wyboru Włącz tylko mój kod.Należy zauważyć, że to ustawienie ma zastosowanie do wszystkich języków programowania, które obsługują Tylko mój kod.
64-bitowa edycja i kontynuacja dla .NET Framework
Debuger obsługuje obecnie edycję i kontynuację dla aplikacji współpracujących z platformami 64-bitowymi.
Inspekcja wartości zwracanych dla metod .NET Framework
Można teraz obejrzeć wartości zwracane metod w oknie Autos.Jest to szczególnie użyteczne dla wbudowanych metod (metody, które są przekazywane jako parametry do innej funkcji):
Zobacz Zbadanie wartości zwracanych z wywołań metody..
Analiza pamięci .NET Framework z plikami zrzutu
Jedną z kwestii, które często dotyczą aplikacji .NET działających w środowisku produkcyjnym, jest problem z ich użyciem pamięci, który może mieć wpływ zarówno na samą aplikację, jak i potencjalnie na cały komputer.W programie Visual Studio 2013 udoskonalono narzędzia analizy pliku zrzutu, dzięki czemu łatwiejsze jest wyszukiwanie wycieków pamięci, nieefektywnego wykorzystania pamięci i niepotrzebnych alokacji w sieci .NET Framework, bazach danych i aplikacjach dla komputerów stacjonarnych.
[!UWAGA]
Analiza pamięci plików zrzutu .NET Framework nie jest obsługiwana dla aplikacji sklepu Windows Store.Zobacz analizowanie użycie pamięci w aplikacji ze Sklepu Windows (JavaScript) informacji o aplikacji JavaScript.
Aby uzyskać więcej informacji o narzędziu analizy pamięci .NET, zobacz ten wpis w programie Visual Studio ALM + Team Foundation Server blogu.Aby uzyskać więcej informacji na temat plików zrzutu, zobacz Debugowanie awarii i zawieszeń aplikacji w Visual Studio przy użyciu plików zrzutu.
Debugowanie z narzędziami debugowania dla systemu Windows
[!UWAGA]
Biblioteka SOS.dll (rozszerzenie do debugowania SOS), która ułatwia debugowanie programów zarządzanych w WinDbg, nie jest dostępna w Visual Studio IDE.Zobacz debugowanie kodu zarządzanego przy użyciu Debugger systemu Windows
Można użyć narzędzi do debugowania dla systemu Windows w programie Visual Studio IDE.Musisz zainstalować narzędzia debugowania, które są częścią Windows Driver Kit (WDK).Zobacz Windows 8.1 Preview: Pobierz zestawy, bitów i narzędzia.
Debugowanie mapy kodów
Wizualizacja stosu wywołań podczas debugowania w programie Visual Studio Ultimate poprzez tworzenie map kodu.Mapy kodów mogą też być użyte do poruszania się w kodzie.Zobacz Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio..
Debugowanie IntelliTrace
Monitor aplikacji do wdrażania problemów.
Monitorowanie lokalne zdarzeń wyjątków i wydajności w aplikacjach sieci Web IIS przy użyciu programu monitorowania Microsoft Monitoring Agent, samodzielnie lub z programem System Center 2012.Zdarzenia te można nagrywać w dzienniku IntelliTrace, a następnie badać w programie Visual Studio Ultimate, przechodząc do wdrożonego kodu podczas uruchamiania debugowania konkretnych zdarzeń.
Rejestrowanie zdarzeń diagnostycznych z aplikacji SharePoint 2010 i SharePoint 2013 we wdrożeniu z programem monitorowania Microsoft Monitoring Agent.
Do dziennika IntelliTrace można zapisać zdarzenia profilu użytkownika, zdarzenia Unified Logging System (ULS) i zdarzenia IntelliTrace, aby można było zbadać dalej te problemy za pomocą programu Visual Studio Ultimate i rozpocząć debugowanie określonych zdarzeń z IntelliTrace.
Zobacz Konfigurowanie wersji do diagnozowania problemów po wdrożeniu i co nowego programu System Center 2012 R2 Operations Manager