15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


IntraBob версия 5.0.0.34 features CGI/WinCGI Testing и ISAPI IDE Debugging, с полной поддержкой технологии WebBroker и Delphi 5 InternetExpress с XML.

IntraBob v5.0 это 32-битный локальный CGI/WinCGI Тестер и ISAPI Отладчик, который может быть использован для тестирования Delphi или C++Builder CGI/WinCGI приложений и отладки Delphi или C++Builder ISAPI DLLs без необходимости установки Веб-сервера. IntraBob v5.0 требует установленного Microsoft Internet Explorer версии 4 или выше.
IntraBob v5.0 теперь содержит bonus DrBob42.dpk package включая пять internet компонент. Это компоненты CRC, CRC32, SMTP, POP3, FTP. The extra unit DrBobCGI can be used for CGI debugging. Все компоненты содержат полный исходный код, и абсолютно бесплатны!

Вы можете скачать откомпилированное приложение, вместе с исходниками INTRABOB.ZIP (build 5.0.0.34). С версии 5.0.0.32 добавились: сохранение/восстановление позиции окна на экране.

Отладка ISAPI DLLs
Теперь давайте посмотрим, как можно протестировать и отладить ISAPI.DLL на локальной машине (то есть без использования веб-сервера).

Шаги:
1. Запускаем Delphi 3+ (или C++Builder)
2. Загружаем DEBUG.DPR, устанавливаем несколько breakpoints
3. Указываем "INTRABOB.EXE" как Hosting Application (Run | Parameters):

4. Запускаем DLL, которая запускает IntraBob v5.0 (как host приложение) с моим небольшим примером HTML формы:

Теперь IntraBob использует элементы ActiveX из Internet Explorer, которые позволяют просматривать исходник документа, путём нажатия правой кнопкой мыши и выбора опции "View Source".
Перед выполнением ISAPI DLL (или исполняемого CGI), удостоверьтесь, чтоб в меню "Options" были установлены правильные опции (локальное CGI приложение или ISAPI DLL, POST или GET протокол, и CGI, WinCGI или ISAPI протокол):

5. Вернитесь на закладку "Browser", и нажмите кнопку "Submit", чтобы послать запрос и соответственно запустить DEBUG ISAPI.DLL.
Это переведёт нас на контрольную точку внутри DEBUG.DPR, с которой мы можем делать пошаговое выполнение, трейсить, или использовать Code Insights tooltip чтобы посмотреть на ECB параметр (для примера).

Если мы будем продолжать (нажимая снова на Run), то в IntraBob будет снова прорисовываться HTML страница. В закладке "Trace" можно видеть данные, посылаемые в CGI приложение или ISAPI DLL.

6. Не забудьте закрыть IntraBob, чтобы вернуться в Delphi IDE

Ограничения
Текущие ограничения в IntraBob v5.0:

  • нет поддержки для ReadClient (данные > 48 KBytes отсекаются)
  • ограничения на поддержку ServerSupportFunction
  • ISAPI DLLs загружается и вынружается напрямую (без использования многопотоковости)

Обратная связь
Если возникнут какие-нибудь проблеммы, пишите e-mail.