当前位置:早雪网网络学院编程文档其他语言 → 如何在c++builder中调试ISAPI(IIS5.0+window2000)

如何在c++builder中调试ISAPI(IIS5.0+window2000)

减小字体 增大字体 作者:未知  来源:supcode.com收集整理  发布时间:2005-7-1 14:54:52

最近做一个Web模块,需要做成ISAPI。ISAPI的调试需要很多技巧,我在网上找了很多文章,大多数都不是很完整,经过长时间的研究,终于总结出以下一些经验。在此与大家分享。

调试过程按照以下步骤:

1、打开 “Internet信息服务”,在你的web服务器上右击,弹出菜单中选择单击属性。(下图1)

图1

2、在“主目录”页面,设置“应用程序保护”为“低(IIS进程)”。如下图2

图2

这样IIS 就会把ISAPI的DLL导入它的进程内部,允许调试。用同样的方法设置调试的DLL所在的虚拟目录。

注意:如果不设为“低(IIS进程)”,你将会无法调试。

3、打开管理工具->服务 ,找到以下几个服务,将其停止,并且设置它的启动方式为“手动”。

  • Simple Mail Transport Protocol (SMTP)
  • World Wide Web Publishing Service
  • FTP Publishing Service
  • IIS Admin Service

    如果重启后IIS Admin Service在“已启动”状态,你就需要将其启动方式设为“禁用”。然后再次重启,看看它是否会启动。在IIS Admin Service启动的时候,是无法正常调试的。

    最近做一个Web模块,需要做成ISAPI。ISAPI的调试需要很多技巧,我在网上找了很多文章,大多数都不是很完整,经过长时间的研究,终于总结出以下一些经验。在此与大家分享。

    调试过程按照以下步骤:

    1、打开 “Internet信息服务”,在你的web服务器上右击,弹出菜单中选择单击属性。(下图1)

    图1

    2、在“主目录”页面,设置“应用程序保护”为“低(IIS进程)”。如下图2

    图2

    这样IIS 就会把ISAPI的DLL导入它的进程内部,允许调试。用同样的方法设置调试的DLL所在的虚拟目录。

    注意:如果不设为“低(IIS进程)”,你将会无法调试。

    3、打开管理工具->服务 ,找到以下几个服务,将其停止,并且设置它的启动方式为“手动”。

  • Simple Mail Transport Protocol (SMTP)
  • World Wide Web Publishing Service
  • FTP Publishing Service
  • IIS Admin Service

    如果重启后IIS Admin Service在“已启动”状态,你就需要将其启动方式设为“禁用”。然后再次重启,看看它是否会启动。在IIS Admin Service启动的时候,是无法正常调试的。

    4、打开管理工具->本地安全策略,在“本地策略->用户权力指派”中找到“以操作系统方式操作”的策略,双击,添加你当前的用户。如下图3

    图3

    6、重启电脑,让修改生效。

    7、将以下内容复制后保存为后缀reg的文件。双击合并入注册表。

    最近做一个Web模块,需要做成ISAPI。ISAPI的调试需要很多技巧,我在网上找了很多文章,大多数都不是很完整,经过长时间的研究,终于总结出以下一些经验。在此与大家分享。

    调试过程按照以下步骤:

    1、打开 “Internet信息服务”,在你的web服务器上右击,弹出菜单中选择单击属性。(下图1)

    图1

    2、在“主目录”页面,设置“应用程序保护”为“低(IIS进程)”。如下图2

    图2

    这样IIS 就会把ISAPI的DLL导入它的进程内部,允许调试。用同样的方法设置调试的DLL所在的虚拟目录。

    注意:如果不设为“低(IIS进程)”,你将会无法调试。

    3、打开管理工具->服务 ,找到以下几个服务,将其停止,并且设置它的启动方式为“手动”。

  • Simple Mail Transport Protocol (SMTP)
  • World Wide Web Publishing Service
  • FTP Publishing Service
  • IIS Admin Service

    如果重启后IIS Admin Service在“已启动”状态,你就需要将其启动方式设为“禁用”。然后再次重启,看看它是否会启动。在IIS Admin Service启动的时候,是无法正常调试的。

    4、打开管理工具->本地安全策略,在“本地策略->用户权力指派”中找到“以操作系统方式操作”的策略,双击,添加你当前的用户。如下图3

    图3

    5、重启电脑,让修改生效。

    6、将以下内容复制后保存为“将IIS 设置为普通进程.reg”。双击合并入注册表。这样你才能够进行调试。如果你的IIS安装在其他目录,则需要做一些修改。这里的默认目录为“ C:\WinNT\system32\inetsrv”

    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"


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

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

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


    [HKEY_CLASSES_ROOT\ClsID\{61738644-F196-11D0-9953-00C04FD919C1}\LocalServer32]
    ""="c:\\winnt\\system32\\inetsrv\\inetinfo.exe -e w3svc"

    [HKEY_CLASSES_ROOT\ClsID\{9F0BD3A0-EC01-11D0-A6A0-00A0C922E752}\LocalServer32]
    ""="c:\\winnt\\system32\\inetsrv\\inetinfo.exe -e w3svc"

    [HKEY_CLASSES_ROOT\ClsID\{A9E69610-B80D-11D0-B9B9-00A0C922E750}\LocalServer32]
    ""="c:\\winnt\\system32\\inetsrv\\inetinfo.exe -e w3svc"


    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMIN]
    "Start"=dword:3

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC]
    "Start"=dword:3

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC]
    "Start"=dword:3

    你可以使用以下注册表代码把IIS恢复为以服务方式运行。

    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"=-


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

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

    [HKEY_CLASSES_ROOT\ClsID\{A9E6961

  • [1] [2]  下一页

    [数据载入中...] [返回上一页] [打 印]