brent's hut

调试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

posted on 2006-12-19 10:24 brent 阅读(1123) 评论(0)  编辑 收藏 引用 所属分类: C++Web


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理