Как подключить отладчик Delphi к 64-разрядной IIS 7.5? - PullRequest
8 голосов
/ 05 мая 2011

Я использую Delphi XE в Windows 7 Pro 64 и IIS 7.5, разрабатываю приложение ISAPI.IIS настроен правильно (в том числе разрешает запуск 32-битного кода в процессе ISAPI).Процесс ISAPI работает правильно.

В Delphi я пытаюсь подключиться к процессу ISAPI, работающему на localHost, чтобы пройти через мой код ISAPI.dll: Выполнить-> Присоединить к процессу-> InetInfo.exe.

Я делал это тысячу раз с Windows XP и IIS 5, но в этой новой среде я не могу подключиться к процессу ISAPI.При попытке присоединить сообщение об ошибке в среде IDE:

Невозможно создать процесс - запрос не поддерживается

Это стоит мне много времени - яприходится откачивать строки отладки для каждой строки кода, запускать приложение, а затем просматривать мои строки отладки и т. д.

Почему я не могу подключиться к процессу ISAPI?Это проблема конфигурации IIS 7.5?Возможно, связано с 32/64-битными проблемами, потому что IIS является родной 64-битной, а Delphi отладчик 32-битной?

Ответы [ 5 ]

3 голосов
/ 12 мая 2011

Узнайте это здесь, http://blogs.msdn.com/b/david.wang/archive/2006/06/21/isapi-filter-and-the-iis6-process-model.aspx

Для ясности, в режиме изоляции рабочих процессов iis w3wp.exe - это процесс, который загружает ваши фильтры isapi, поэтому вы должны подключиться к нему вместо inetinfo.exe.

2 голосов
/ 10 мая 2012

Вы можете отлаживать 32-битную библиотеку ISAPI на 64-битном компьютере, установив для параметра «Включить 32-битное приложение» значение true в дополнительных настройках пула приложений в IIS 7.5.

В Delphi вы указываете «C: \ Windows \ System32 \ inetsrv \ w3wp.exe» в качестве хост-приложения с параметрами «-debug». Запустите Delphi IDE с правами администратора и начинайте. Если вам нужен больший контроль над тем, как запускается w3wp, вы можете найти доступные опции, используя команду C: \ Windows \ System32 \ inetsrv \ w3wp.exe -?

Надеюсь, это поможет!

2 голосов
/ 11 мая 2011

Если IIS 64bit использует ISAPI.DLL, который является 32-разрядным модулем, он должен использовать 32-разрядный процесс загрузки.Вы можете использовать ProcessExplorer , чтобы найти, какой процесс загружает вашу ISAPI.DLL и подключить Delphi к этому процессу.

2 голосов
/ 06 мая 2011

Вы можете проверить это: http://www.embarcadero.com/products/delphi/64-bit

1 голос
/ 12 мая 2011

Вы можете отладить ваше веб-приложение Delphi ISAPI под IIS 7.5 с помощью следующего инструмента. http://www.eggcentric.com/ISAPIDebug.htm. (Вам необходимо настроить файл ISAPIFwd.ini)

...