Перейти до вмісту

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 через їхню підвищену складність. Проте, більшість розробників, що працюють з лямбда-виразами, можуть стежити за даними через кілька вікон спостереження.