Поделиться через


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

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

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

Содержание раздела

  1. Debugging a COM Server and Container in the Same Solution

  2. Debugging a Server Application Without Container Information

  3. Debugging a Server and Domain Isolation (SDI) Application

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

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

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

Отладка приложений сервера без сведений О контейнере

Если отсутствует или не хотите использовать сведения об отладке приложения контейнера, начните отладку приложения сервера — это три этапа:

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

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

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

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

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

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

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

См. также

Другие ресурсы

Отладка COM и ActiveX