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


Отладка компонентов, написанных в 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++

  1. В Visual C++в меню "Сервис " нажмите кнопку " Параметры".

  2. В диалоговом окне "Параметры" на вкладке "Отладка" выберите поля отладки OLE RPC и JIT-отладки проверка.

  3. Щелкните OK.

Чтобы начать отладку, запустите клиентский проект в отладчике.

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

Включение компонента серверного приложения для запуска отладчика Visual C++

  1. В меню "Проект" щелкните Параметры.

  2. В диалоговом окне "Проект Параметры" в поле Параметры "Для" выберите "Отладка Win32".

  3. На вкладке "Отладка " в поле "Категория " выберите "Общие".

  4. В поле "Исполняемый файл для сеанса отладки" введите полный путь для Dllhost.exe, а затем аргумент, указывающий идентификатор приложения COM+, содержащего компонент.

    Примечание.

    Используя средство администрирования служб компонентов, вы найдете идентификатор приложения на вкладке "Общие" диалогового окна "Свойства приложения COM+". Ниже приведен пример:

     

    Примечание.

    C:\Winnt\System32\Dllhost.exe /ProcessID:{applicationID}

     

  5. Щелкните OK.

Теперь можно задать точки останова, запустить отладчик и начать вызовы к компоненту.

Отладка компонентов приложения библиотеки с помощью Visual C++

Чтобы отладить компоненты в приложении библиотеки, необходимо настроить проект клиента, так как процесс клиента будет размещать приложение библиотеки.

Включение отладки приложений библиотеки с помощью Visual C++

  1. В Visual C++в меню "Проект" щелкните Параметры.

  2. В диалоговом окне "Проект Параметры" в поле Параметры "Для" нажмите кнопку "Отладка Win32".

  3. На вкладке "Отладка " в поле "Категория " щелкните "Дополнительные библиотеки DLL".

  4. В списке модулей добавьте библиотеки DLL компонентов в приложение библиотеки. Это позволяет задать точки останова перед загрузкой библиотеки DLL.

  5. Щелкните OK.

Отладка без Visual C++

Независимо от того, используется ли visual C++ для отладки, можно использовать параметр запуска в отладчике, чтобы указать отладчик , в котором должны выполняться компоненты.

Указание отладчика из средства администрирования служб компонентов

  1. В дереве консоли выберите приложение библиотеки COM+, содержащее компоненты, которые требуется отладить.

  2. Щелкните правой кнопкой мыши приложение и выберите пункт "Свойства".

  3. В диалоговом окне "Свойства приложения" щелкните вкладку "Дополнительно".

  4. В разделе "Отладка" выберите поле "Запуск в отладчике" проверка.

  5. В поле пути отладчика введите путь к отладчику, который вы хотите использовать. Вы также можете нажать кнопку "Обзор" , чтобы найти отладчик. Ниже приведен пример: C:\Winnt\System32\Ntsd.exe.

  6. Щелкните OK.

Отладка компонентов, написанных в Visual Basic