调试ISAPI

调试ISAPI

1,设置用户权限
将IUSR_[COMPUTERNAME]和IWAM_[COMPUTERNAME]添加到amdministrators组

管理工具-本地安全策略-本地策略-用户权利指派
以操作系统方式操作  添加      INTERACTIVE, IUSR_[COMPUTERNAME], IWAM_[COMPUTERNAME]
作为服务登录        添加      INTERACTIVE, IUSR_[COMPUTERNAME], IWAM_[COMPUTERNAME]
调试程序            添加      INTERACTIVE, IUSR_[COMPUTERNAME], IWAM_[COMPUTERNAME]

重新启动计算机,以使用户权限设置生效。

2,设置Web服务
服务
IIS Admin Service
Simple Mail Transport Protocol (SMTP)
FTP Publishing Service
World Wide Web Publishing Service
的启动方式->手动。

设置 IIS Admin Service  登录身份设为本地系统帐号,并允许与桌面交互

打开管理工具-Internet 服务管理器,设置要允许调试的虚拟目录的属性:
执行许->脚本和可执行程序
应用程序保护->底(IIS进程)

启动默认Web站点(必须将Web服务激活,否则调试时虽然运行了inetinfo.exe,但不会运行Web服务)

3,配置VC project
Project-setting-Debug
Executable for debug session : C:\WINNT\system32\inetsrv\inetinfo.exe
Program argument : -e w3svc

4,调试
执行命令行 iisreset /stop

修改注册表信息:
REGEDIT4

[HKEY_CLASSES_ROOT\AppID\{61738644-F196-11D0-9953-00C04FD919C1}]
"LocalService"=-
"RunAs"=-

[HKEY_CLASSES_ROOT\AppID\{9F0BD3A0-EC01-11D0-A6A0-00A0C922E752}]
"LocalService"=-
"RunAs"=-

[HKEY_CLASSES_ROOT\AppID\{A9E69610-B80D-11D0-B9B9-00A0C922E750}]
"LocalService"=-
"RunAs"="Interactive User"

将以上注册表信息保存为.reg文件双击即可。

可以开始在VC中调试了,按F5..

5,恢复环境
按Shift + F5中断调试。

恢复注册表信息:
REGEDIT4

[HKEY_CLASSES_ROOT\AppID\{61738644-F196-11D0-9953-00C04FD919C1}]
"LocalService"="IISADMIN"
"RunAs"=-

[HKEY_CLASSES_ROOT\AppID\{9F0BD3A0-EC01-11D0-A6A0-00A0C922E752}]
"LocalService"="IISADMIN"
"RunAs"=-

[HKEY_CLASSES_ROOT\AppID\{A9E69610-B80D-11D0-B9B9-00A0C922E750}]
"LocalService"="IISADMIN"
"RunAs"=-

执行命令行 iisreset /start

可能需要用到的.reg .bat
http://www.cppblog.com/Files/aqazero/iisIsapiDebug.zip

更详细信息:
http://xmlrad.com/DelosBin/Delos.dll/ServePage?URL=Manual/Appendix07/index.htm&WEB_ID=101001015

你可能感兴趣的:(调试ISAPI)