Microsoft Visual Studio Debugger
Microsoft Visual Studio Debugger — зневаджувач, що входить до складу всіх версій Microsoft Visual Studio. Спочатку цей зневаджувач значну частку свого підходу і функціональності перейняв від CodeView, окремого текстового зневаджувача, який поставлявся з Microsoft Visual C++ версії 1.5 і нижче.
Можливості
Серед найбільш просунутих можливостей, що з'явилися в останніх версіях зневаджувача, можна відзначити:
- Повну символьну і сирцеву інтеграцію
- Прив'язування до і відв'язування від процесів
- Вбудоване зневадження програм, написаних на мовах .NET і природних мовах для Windows, (наприклад, виклики з C# в C++)
- Можливість зневадження з віддаленої машини
- Повна підтримка C++, включаючи шаблони і стандартну бібліотеку
- Зневадження веб-сервісів ASP.NET
- Єдиний стандарт для просунутих можливостей точок зупину, включаючи умови, адреси, дані
- Безліч способів представлення стану програм і даних, включаючи кілька вікон перегляду, ниті, стек викликів та модулі
- Відображення використовуваної бібліотеки та користувацьких типів даних можна налаштовувати (наприклад, для показу вмісту контейнерного класу докладніше, ніж просто показувати його основну структуру)
- Можливість керувати за допомогою макросів або скриптів. Можна застосовувати будь-яку мову, котра може взаїмодіяти з COM
- Підтримка принципу Виправ і продовжуй (англ. Edit and continue), що дозволяє змінювати сирцевий код і його перекомпіляцію без перезапуску програми (тільки для 32-бітних застосунків)
- Локальне та віддалене зневадження збережених процедур SQL на підтримуваних версіях Microsoft SQL Server.
Недоліки
Основним недоліком Visual Studio Debugger є неможливість відстежувати в коді режим ядра. Зневадження у Windows в режимі ядра в загальному випадку виконується при використанні WinDbg, KD або SoftICE.
Visual Studio Debugger також не має змоги відстежувати лямбда-вирази та Linq через їхню підвищену складність. Проте, більшість розробників, що працюють з лямбда-виразами, можуть стежити за даними через кілька вікон спостереження.