Новые возможности отладчика в Visual Studio 2013
Описание
Asynchronous Debugging in Windows Store Apps
Just My Code for C++ and JavaScript Debugging
64-bit Edit and Continue for the .NET Framework
Return value inspection for .NET Framework Methods
.NET Framework Memory Analysis with Dump Files
Debug with Debugging Tools for Windows
Code Map Debugging
IntelliTrace Debugging
Асинхронная отладка в приложениях для Магазина Windows
Отладчик располагает расширенной поддержкой модели асинхронного программирования среды выполнения Windows. В языках платформы .NET Framework модель выражена с помощью ключевого слова async/await (Async/Await в Visual Basic). В C++ и C++/Cx объекты task и продолжения .then поддерживают модель. А JavaScript использует объекты promise и продолжения .then.
В окне Стек вызовов отображаются методы, которые вызывают асинхронные функции во фреймах информации [Async Call].
В окне Задачи (ранее называвшееся окном параллельных задач) отображается новая модель в виде задач вместе с расширенными сведениями о задачах. См. раздел Использование окна задач.
Расширенная отчетность об исключениях для приложений для Магазина Windows на C++ Отладчик Visual Studio теперь поддерживает запись трассировки стека для исключений C++, если они встречаются в компонентах среды выполнения Windows. Отладчик может отображать собранные трассировки стека, если они доступны в объектах исключений, которые являются производными от класса Platform::Exception.
В диалоговом окне, отображаемом отладчиком при первичном исключении, приводится трассировка стека в момент, когда возникло исключение.
Последующие исключения среды выполнения Windows в сеансе отладки можно проверить путем добавления $exceptionstack псевдопеременной в окно Контрольное значение. При возникновении исключения в текущем потоке можно развернуть запись в окне контрольных значений, чтобы увидеть трассировку следа и перейти в исходный код, вызвавший исключение. Также можно отследить $exceptionstack, щелкнув ссылку Добавить трассировку стека исключений для наблюдения в диалоговом окне исключения.
Дополнительные сведения см. в этой публикации блога Visual Studio ALM + Team Foundation Server.
"Только мой код" для отладки C++ и JavaScript
Режим "Только мой код" скрывает код, написанный не пользователем, в окне "Стеке вызовов", например код в системе, WinJS и стороннихбиблиотеках. Режим " Только мой код " значительно упрощает поиск этих методов при отладке асинхронного кода или отладке в смешанном режиме с JavaScript и C++.
Режим "Только мой код" включен по умолчанию в Visual Studio 2013. Чтобы просмотреть весь код в стеке вызовов, выберите Параметры и настройки в меню Отладка, а затем снимите флажок Включить только мой код. Обратите внимание, что этот параметр применяется ко всем языкам программирования, поддерживающим "Только мой код".
Режим "Изменить и продолжить" для 64-разрядных платформ .NET Framework
Теперь отладчик поддерживает режим "Изменить и продолжить" для приложений, предназначенных для 64-разрядных платформ.
Проверка возвращаемого значения для методов .NET Framework
Теперь можно просмотреть возвращаемые значения методов в окне "Видимые". Это особенно эффективно для внедренных методов (методов, которые передаются как параметры в другую функцию).
См. раздел Анализ значений, возвращаемых из вызовов методов.
Анализ памяти .NET Framework при помощи файлов дампа
Одна из проблем, часто затрагивающих приложения .NET в рабочих средах, состоит в проблемах с использованием ими памяти, которые могут сказаться и на приложении, и потенциально на всем компьютере. В Visual Studio 2013 расширен набор средств анализа файлов дампов для поиска утечки памяти, неэффективного использования памяти и ненужных выделений памяти в веб-приложениях, приложениях баз данных и классических приложениях .NET Framework.
Примечание
Анализ памяти файлов дампа .NET Framework не поддерживается для приложений Магазина Windows.Сведения о приложениях JavaScript см. в статье Analyzing memory usage in Windows Store apps (JavaScript) (Анализ использования памяти в приложениях для Магазина Windows (JavaScript)).
Дополнительные сведения о средстве анализа памяти .NET см. в этой публикации блога Visual Studio ALM + Team Foundation Server. Дополнительные сведения о файлах дампов см. в разделе Использование файлов дампа для отладки сбоев и зависаний приложения в Visual Studio.
Отладка с помощью средств отладки для Windows
Примечание
Элемент SOS.dll (расширение отладки SOS), который помогает при отладке управляемых программ в WinDbg, недоступен в интегрированной среде разработки Visual Studio.См. статью Debugging Managed Code Using the Windows Debugger (Отладка управляемого кода с помощью отладчика Windows)
Средства отладки для Windows можно использовать в интегрированной среде разработки Visual Studio. Необходимо установить средства отладки, входящие в комплект разработки драйверов для Windows (WDK). См. статью Windows 8.1: скачайте комплекты и средства.
Отладка сопоставления кода
Визуализация стека вызовов при отладке в Visual Studio Ultimate выполняется путем создания сопоставлений кода. Сопоставления кода также можно использовать для перемещения по коду. См. раздел Сопоставление методов в визуализации стека вызовов при отладке в Visual Studio.
Отладка с помощью IntelliTrace
Вы можете отслеживать возникновение проблем развертывания приложений.
Локальный контроль веб-приложений IIS на наличие событий исключения и производительности с помощью Microsoft Monitoring Agent, как автономно, так и совместно с System Center 2012. Можно записывать эти события в журнал IntelliTrace, чтобы затем можно было изучить эти проблемы в Visual Studio Ultimate и переходить к развернутому коду при запуске отладки из определенных событий.
Запись диагностических событий из приложений SharePoint 2010 и SharePoint 2013 в развертывании с помощью Microsoft Monitoring Agent.
Можно сохранять события профиля пользователя, события унифицированной системы ведения журнала (ULS) и события IntelliTrace в журнал IntelliTrace, чтобы можно было более подробно изучить эти проблемы в Visual Studio Ultimate и начать отладку из определенных событий с помощью IntelliTrace.
См. раздел Настройка версии для диагностики проблем после развертывания и статью What's New for System Center 2012 R2 Operations Manager (Новые возможности System Center 2012 R2 Operations Manager).