TN063: Налагодження Інтернет розширенням DLL

Якщо ви писали розширенням DLL Інтернет-сервер, може бути зацікавлений в отриманні його запущено налагоджувач так що ви можете простежити його виконання, встановити точки зупинки або монітор значення змінних, після розширення, називається. Отримувати Microsoft Internet Information Server (IIS) і працює з вашого DLL в налагоджувач є досить складною справою. Ви повинні спочатку знайти тихий сервера, де ви можете налагодження ваш DLL в контрольованих умовах. Як тільки ви знайшли такий ресурс, ви можете почати налагодження ваш DLL.

З-за відмінностей між версії 3.0 і 4.0 IIS важливо знати, яка версія використовується для налагодження ваш DLL.

Налагодження за допомогою Інтернету відомості про сервер (3.0 і раніше)

Виконайте такі дії для налагодження веб-сервера розширення DLL, що використання IIS 3.0:

  1. Зупинити публікації служб IIS, за допомогою диспетчер IIS, або зупинення служб значком служб Windows NT Advanced Server панелі керування. Зверніть увагу, що потрібно припинити всі три послуги, навіть якщо тільки налагодженні розширень World Wide Web, служба публікації. Щоб спростити процес, ви можете зробити послуги "Вручну" почав на панелі керування, так що ви можете уникнути цього кроку пізніше в вашому розвитку.

  2. Запустіть Microsoft Visual c + + і виберіть команду Закрити робочої області , у меню файл закрити будь-якого відкритого робочої області.

  3. У меню файл виберіть команду Відкрийте робочу область для відкриття в INETINFO.EXE програми. Цей файл є в директорії, де установлено Microsoft Інтернет відомості про сервер.

  4. Проект меню натисніть кнопку Параметрита відкрийте вкладку налагодження у діалоговому вікні Параметри проекту.

  5. З загальними вибраного в полі Категорії введіть у полі Аргументи програми:

    -e W3Svc

  6. Виберіть Додаткові DLL з розкривного списку Категорії . У полі Локальні імена вказати повний шлях та ім'я розширення DLL або DLL. Переконайтеся, що прапорець поруч із кожним позначено.

  7. Натисніть кнопку ОК , щоб закрити діалогове вікно Параметри проекту.

  8. Переконайтеся, що на.PDB файл для вашого DLL є у той же каталог, що DLL, що ви плануєте налагодження.

Налагодження поради

IIS може працювати як інтерактивне додаток, роблячи налагодження набагато простіше. Для цього вам необхідно внести деякі зміни до системи. Для облікового запису користувача, що ви збираєтеся запустити сервер під вам потрібно додати кілька привілеї.

Щоб додати привілеї, запустіть менеджер користувача. (Якщо ви використовуєте Windows NT 3.51, виконайте MUSRMGR.EXE. Якщо використовується Windows NT 4.0, запуск USRMGR.EXE.) Натисніть кнопку Права користувача з меню політики . Установіть прапорець Показати додаткові права користувача . Потім виберіть діяти як частина операційної системи з розкривного списку праворуч і додати обліковий запис користувача.

Повторіть цю процедуру із Генерувати перевірок безпеки (також в розкривному списку праворуч). Переконайтеся, що всі Інтернет-послуги (WWW, ftp і gopher) зупинили і INETINFO.EXE не працює (використовувати TLIST, щоб перевірити). Із системи та ввійти знову. Потім можна завантажити IIS з командного рядка:

INetInfo.Exe -e W3Svc

Завантажити IIS під налагоджувач (наприклад, у розділі WinDbg), використовуйте такий командний рядок:

WinDbg INetInfo.Exe -e W3Svc

Ви готові піти. В Visual C++ побудувати меню пункт налагодження та натисніть кнопку Перейти. Ця дія починається WWW видавничих послуг, і налагоджувач буде знати про символи у вашому DLL. Ви можете ігнорувати попередження, що файл не має, налагоджувальна інформація.

Під час закриття Visual C++, зберегти робочу область для INETINFO.EXE. Таким чином, можна уникнути, відновлюють настройки для налагодження сесії. Просто відкрийте на INETINFO.Файл робочої області дн, коли ви готові до запуску налагоджувачу знову.

Кешовані DLL

Можна змінити настройки реєстру HKEY_LOCAL_MACHINE/системи/CurrentControlSet/послуги/W3SVC/параметри/CacheExtensions мати сервер Реініціалізація DLL щоразу вони використовуються. Якщо цей параметр 1, сервер буде тримати DLL, завантажені в пам'ять якомога довше. Це за замовчуванням для сервера, оскільки воно допомагає серверу досягти вершини продуктивності і повинні змінити лише у разі використання сервера для налагодження. Якщо значення 0, сервер завжди перезавантажить розширенням DLL кожного разу, коли вони використовуються.

Змушуючи сервер перезавантажити ваш DLL, корисно, коли ваш DLL можуть гуркіт або порушити будь-які він зберігає дані за екземпляр. Змушуючи сервер, щоб повторно ініціалізувати бібліотеку DLL, ви можете отримати ваш DLL назад в передбачуваним державі без особливих зусиль. Не забудьте перевірити ваші DLL, що використання Звичайна установка CacheExtensions, однак, щоб переконатися, що код у свій DLL не повністю залежать від цього початкового стану.

Налагодження за допомогою Інтернету відомості про сервер (4.0 та пізніших версій)

Існує декілька способів встановити середовище для зневадження компоненти сервер і сервер Інтернету розширенням DLL, під час використання служби IIS 4.0 або пізнішої версії. Якщо ви використовуєте налагоджувача здатні кріплення для Windows NT процес, можна використовувати цю функцію для налагодження компонент або розширення. Наприклад, якщо ви є налагодження з Visual c + +, виконайте такі дії:

  1. Початок процесу iisadmin. Це може бути зроблено з командного рядка з команди net start iisadmin. Також можна діалоговому вікні "служби" панелі керування для запуску служби IIS Admin, які почнуть iisadmin.

  2. Почати Visual c + +. Наведіть вказівник на пункт Запустити налагодження побудувати меню і клацніть вкласти до процесу.

  3. Установіть прапорець Показати системний процес.

  4. Виберіть inetinfo процес зі списку та натисніть кнопку ОК.

  5. Запустити службу W3SVC. Це може бути зроблено з командного рядка з команди net start w3svc. Також можна на панелі керування діалогове вікно послуги для запуску служби веб публікації.

Якщо налагоджувач використовується не вдається вкласти до Windows NT процесу, виконайте такі дії встановити відповідні налагодження оточення:

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

  2. Виберіть служби IIS Admin і натисніть кнопку Запуск.

  3. Установіть прапорець Дозволити служби для взаємодії з робочого стола і натисніть кнопку ОК.

  4. Повторіть кроки 2 і 3 для всі процеси, які працюють під IIS Admin процесу, наприклад публікації служби World Wide Web і служба публікації FTP.

  5. Додати підрозділ, названий Inetinfo.Exe на ключові параметри виконання файлу HKEY_LOCAL_MACHINE/програмне забезпечення/Microsoft/WindowsNT/CurrentVersion/зображення за допомогою редактора реєстру (REGEDIT).

  6. Додайте такий запис до цього новий ключ:

    Налагоджувач = lt; DebuggerExeName > де DebuggerExeName є повний шлях до налагоджувач використовується.

Під час запуску послуги публікації веб налагоджувач також буде запущений. Тепер ви можете встановити відповідні точки зупинки, у вашого інтернет-сервер розширення DLL.

Ви не зможете встановлювати точки зупинки у вихідний код компонента, поки не було завантажено компонент у пам'яті. Для цього запустіть Internet Explorer та подання на.ASP сторінки, яка містить об'єкт. Як тільки завантажується на сторінку, ви повинні мати можливість встановлювати точки зупинки у ваш компонент. Натисніть кнопку оновити , щоб переглянути сторінки знову і викликати точки зупинки, ви вибрали. Якщо компонент неможливо завантажити ще раз (наприклад, якщо вина відбувається в код запуску компонент), вам необхідно завантажити компонент DLL до запуску сеансу налагодження. (Див. крок 11 нижче).

У деяких випадках не можна використовувати будь-який з двох процедур, описаних вище. Якщо у вас труднощі у використанні будь-якого з цих стратегій, є третій підхід, яка була описана в попередніх версіях служби IIS. Цей третій підхід потребує на встановлення права безпеки Windows NT як і внесення змін до реєстру. Це також призведе до вимкнення ваші здібності, щоб запустити служби IIS, як послуги. Такий підхід має бути використаний лише якщо попередні дві стратегії не вдалося.

  1. За допомогою диспетчера користувачів для доменів інструмент адміністрування (USRMGR) додати Увійдіть як служби, діяти як частина операційної системита права на створення безпеки перевірок на локальному комп'ютері обліковий запис Windows NT, ви будете використовувати при налагодженні Інтернет-сервер розширенням DLL.

  2. Змінити відомості про служби IIS Admin на обліковий запис, який використовується для налагодження за допомогою розподілені COM конфігурації програми (DCOMCNFG).

  3. Видалити ключове слово LocalService зі всіх пов'язаних з IISADMIN підрозділи під це можливо/AppID за допомогою редактора реєстру (REGEDIT). Це ключове слово може бути знайдений в таких підрозділах:

    {61738644-F196-11D0-9953-00C04FD919C1} / / IIS WAMREG admin служби

    {9F0BD3A0-EC01-11D0-A6A0-00A0C922E752} / / IIS Admin криптографічного розширення

    {A9E69610-B80D-11D0-B9B9-00A0C922E750} / / IISADMIN служба

    Ключове слово LocalService можна знайти в додаткові підрозділи AppID.

  4. Додати LocalServer32 підрозділи всі пов'язані з IISADMIN підрозділи розділі CLSID реєстру. Це буде включати підрозділи, що відповідають всі підрозділи, які було видалено на попередньому кроці. Встановити значення за промовчанням ці нові ключі до lt; шлях > \inetinfo.exe -e w3svc. (<path>, як правило "c:\winnt\system32\inetsrv").

  5. Зупинка на WWW і FTP-послуг з консолі керування або з панелі керування діалогове вікно послуги.

  6. Почати Visual c + + і виберіть вкладку налагодження в діалоговому вікні Параметри проекту.

  7. Введіть наступний шлях у полі виконуваний файл для сеанс налагодження:

    C:\WINNT\System32\Inetsrv\Inetinfo.exe

  8. Введіть в області Аргументи програми:

    -e w3svc

  9. Виберіть вкладку посилання в діалоговому вікні Параметри проекту.

  10. Введіть ім'я та шлях Інтернет-сервер розширенням DLL налагодженні в полі ім'я вихідного файлу.

  11. Можна додати компонент DLL до списку Додаткових DLL , що завантажуються перш ніж її запуску. Це дозволить вам встановлювати точки зупинки в компонент код запуску.

  12. Натисніть кнопку Перейти для запуску сеансу налагодження.

Примітка   Після завершення сеансу налагодження, ви повинні звернути назад кроки 5-1, щоб відновити попередні настройки і дозволяють запускати як служби IIS.

Технічні примітки за номером |nbsp; Технічні примітки за категоріями

Index