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


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

Обновлен: Ноябрь 2007

Этот раздел применим к:

Выпуск

Visual Basic

C#

C++

Web Developer

Экспресс-выпуск

Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Standard

Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Pro и Team

Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Обозначения:

Тема применяется

Применяется

Тема не применяется

Неприменимо

Тема применяется, но команда по умолчанию сокрыта

Команда или команды скрытые по умолчанию.

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

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

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

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

См. также

Задачи

Практическое руководство. Отладка серверов COM

Практическое руководство. Отладка клиентов и серверов COM с помощью отладки RPC

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

Отладка COM и ActiveX