Отладка сервера и контейнеров COM

Приложения COM выполняют множество задач без прямого вмешательства программиста. Связь между DLL-файлами, использование счетчиков объектов и операции с буфером обмена — только несколько областей, где можно столкнуться с неожиданностями. В случае их возникновения прежде всего необходимо установить источник проблемы.

Отладчик Visual Studio поддерживает пошаговое выполнение с заходом в контейнеры и серверы и без него. В том числе поддерживается пошаговое выполнение с заходом в вызовы удаленных процедур (RPC).

Отладка COM-сервера и контейнера в одном решении

Можно отлаживать сервер и контейнер COM при помощи двух проектов в рамках одного решения. Установите соответствующие точки останова в обоих проектах и начните отладку. Когда контейнер делает вызов на сервер, который попадает на точку останова, контейнер будет ждать, пока сервер не возвратит код (то есть пока не окончится его отладка).

Отладка контейнера COM аналогична отладке обычной программы. Единственное отличие состоит в отладке события, создающего обратный вызов (например, при перетаскивании данных из приложения контейнера). В этом случае необходимо создать точку останова в функции обратного вызова.

Отладка серверного приложения при отсутствии сведений о контейнере

Если отладочная информация для приложения-контейнера отсутствует или использовать ее нежелательно, запуск отладки серверного приложения происходит в три этапа:

  1. Начните отладку сервера как обычного приложения.

  2. Задайте необходимые точки останова.

  3. Запустите приложение контейнера.

Отладка приложения изоляции серверов и доменов (SDI)

В случае проектов C/C++, C# или Visual Basic при отладке приложения SDI-сервера необходимо указать значение /Embedding или /Automation в свойстве Аргументы командной строки диалогового окна "Страницы свойств Проект".

Данные аргументы командной строки позволяют отладчику запустить приложение сервера так, как если бы оно было запущено из контейнера. Если в этот момент запустить контейнер из диспетчера программ или диспетчера файлов, то он будет использовать экземпляр сервера, запущенный в отладчике.

Чтобы открыть диалоговое окно "Страницы свойств Проект", щелкните правой кнопкой мыши проект в обозревателе решений, а затем выберите пункт "Свойства" в контекстном меню. Чтобы найти свойство "Аргументы командной строки", разверните категорию "Свойства конфигурации" и щелкните страницу "Отладка".

См. также