Отладка компонентов, написанных в Visual C++
Когда вы готовы выполнить отладку функций COM+ в компонентах Microsoft Visual C++, можно настроить проект Visual C++ или средство администрирования служб компонентов для запуска отладчика. При использовании Visual C++можно выполнить отладку с удаленным клиентом с помощью OLE RPC и JIT-отладки. Если вы не можете запустить клиент в отладчике или если клиент работает на другом компьютере, можно использовать параметр COM+ Launch в параметре отладчика . Вы найдете это в средстве администрирования служб компонентов в качестве проверка поля на вкладке "Дополнительно" диалогового окна "Свойства приложения COM+".
После завершения отладки необходимо завершить отладку приложений COM+. Если серверный процесс остается запущенным, может появиться сообщение об ошибке при следующей попытке создать библиотеку DLL при загрузке существующей библиотеки DLL в памяти. Чтобы завершить работу приложения COM+, щелкните правой кнопкой мыши приложение в дереве консоли и нажмите кнопку "Завершить работу".
Примечание.
Если вы используете транзакции, может потребоваться увеличить время ожидания транзакции, которое по умолчанию — 60 секунд. Можно также указать значение 0, эффективно указывая бесконечный период времени ожидания транзакции. С помощью средства администрирования служб компонентов измените время ожидания транзакции на вкладке "Параметры" окна "Свойства моего компьютера".
Отладка компонентов приложения сервера с помощью Visual C++
При отладке серверных приложений COM+ может потребоваться выполнить отладку удаленных вызовов, загрузив клиент и серверное приложение в отладчик. С помощью Visual C++можно выполнять отладку удаленных вызовов к компонентам с помощью параметров JIT и OLE RPC. Параметр JIT приводит к тому, что скомпилированный компонент запускает отладчик Visual C++ при возникновении ошибки; Параметр OLE RPC позволяет отладчику переходить от клиента к компоненту по мере выполнения кода.
Если эти функции включены, вы можете запустить клиент в отладчике. Когда клиент вызывает компонент, отладчик переходит в код компонента в процессе сервера, даже если сервер находится на другом компьютере в сети. При необходимости сеанс отладки автоматически запускается на серверном компьютере. Аналогичным образом одношаговые шаги, прошедшие инструкцию return в коде компонента, будут возвращать отладку в следующую инструкцию в коде клиента.
Примечание.
Вы можете сохранить несколько шагов с помощью com+ Launch in debugger setting. Это позволяет указать отладчик Visual C++ (или другой) без необходимости создавать специальные параметры отладки в среде Visual C++. Вы найдете это в средстве администрирования служб компонентов в качестве проверка поля на вкладке "Дополнительно" диалогового окна "Свойства приложения COM+". Дополнительные сведения см. в разделе "Отладка без Visual C++".
Когда приложение COM+, содержащее компонент, является серверным приложением, необходимо начать работу приложения с помощью средства администрирования служб компонентов. Для этого щелкните правой кнопкой мыши приложение COM+ в дереве консоли и нажмите кнопку "Завершить работу".
Включение отладки RPC в Visual C++
В Visual C++в меню "Сервис " нажмите кнопку " Параметры".
В диалоговом окне "Параметры" на вкладке "Отладка" выберите поля отладки OLE RPC и JIT-отладки проверка.
Щелкните OK.
Чтобы начать отладку, запустите клиентский проект в отладчике.
Вы также можете выполнить отладку компонента без запуска клиента в отладчике. В этом случае компонент должен запустить отладчик самостоятельно. Для этого проект компонента должен указать исполняемый файл для сеанса отладки вместе с идентификатором приложения COM+.
Включение компонента серверного приложения для запуска отладчика Visual C++
В меню "Проект" щелкните Параметры.
В диалоговом окне "Проект Параметры" в поле Параметры "Для" выберите "Отладка Win32".
На вкладке "Отладка " в поле "Категория " выберите "Общие".
В поле "Исполняемый файл для сеанса отладки" введите полный путь для Dllhost.exe, а затем аргумент, указывающий идентификатор приложения COM+, содержащего компонент.
Примечание.
Используя средство администрирования служб компонентов, вы найдете идентификатор приложения на вкладке "Общие" диалогового окна "Свойства приложения COM+". Ниже приведен пример:
Примечание.
C:\Winnt\System32\Dllhost.exe /ProcessID:{applicationID}
Щелкните OK.
Теперь можно задать точки останова, запустить отладчик и начать вызовы к компоненту.
Отладка компонентов приложения библиотеки с помощью Visual C++
Чтобы отладить компоненты в приложении библиотеки, необходимо настроить проект клиента, так как процесс клиента будет размещать приложение библиотеки.
Включение отладки приложений библиотеки с помощью Visual C++
В Visual C++в меню "Проект" щелкните Параметры.
В диалоговом окне "Проект Параметры" в поле Параметры "Для" нажмите кнопку "Отладка Win32".
На вкладке "Отладка " в поле "Категория " щелкните "Дополнительные библиотеки DLL".
В списке модулей добавьте библиотеки DLL компонентов в приложение библиотеки. Это позволяет задать точки останова перед загрузкой библиотеки DLL.
Щелкните OK.
Отладка без Visual C++
Независимо от того, используется ли visual C++ для отладки, можно использовать параметр запуска в отладчике, чтобы указать отладчик , в котором должны выполняться компоненты.
Указание отладчика из средства администрирования служб компонентов
В дереве консоли выберите приложение библиотеки COM+, содержащее компоненты, которые требуется отладить.
Щелкните правой кнопкой мыши приложение и выберите пункт "Свойства".
В диалоговом окне "Свойства приложения" щелкните вкладку "Дополнительно".
В разделе "Отладка" выберите поле "Запуск в отладчике" проверка.
В поле пути отладчика введите путь к отладчику, который вы хотите использовать. Вы также можете нажать кнопку "Обзор" , чтобы найти отладчик. Ниже приведен пример: C:\Winnt\System32\Ntsd.exe.
Щелкните OK.
См. также