vs2005 开发平台 MFC dll项目
创建一个dll 用于IIS 的ISAPI筛选器用
这个要如何调试???看了一些网上一些VC6的方法 没有成功……

解决方案 »

  1.   

    附到inetingo.exe进程,或者某个dllhost.exe,看iis配置了。
      

  2.   

    你说的是inetinfo.exe吧
    dllhost.exe倒是没看到
    附加到进程后呢,然后如果处理才能调试?
      

  3.   

    用客户端ie访问该isapi,就能开始调试了
      

  4.   

    附加到进程后,运行那个进程,那个进程调用了那个DLL的时候就会进入调试的
      

  5.   

    恩,是这样的
    debug 的dll先设置到isapi筛选器,然后先访问一下改站点,
    这个时候,会产生w3wp.exe进程,再到VS的dll项目的 调试 附加到进程 里
    选择w3wp.exe进程,点击 附加,然后再次的访问,这个时候就OK了
      

  6.   

    相关资料
    最近有需要要调试一个ISAPI DLL,在网上查了点资料如:
    how to debug ISAPI DLLs in IIS 4.0, IIS 5.0, IIS 5.1, and IIS 6.0How to debug ISAPI DLLs in IIS 4.0, IIS 5.0, IIS 5.1, and IIS 6.0) 地址在:
    http://support.microsoft.com/kb/183480/EN-US/#3但按照文章的步骤设置后仍然不对,于是自己按照想法进行了设置,思路很简单,就是DLL是依存在IIS的那个进程中运行?然后对进程进行调试.那么首先要知道DLL依存的进程,下表显示了关于最近IIS版本的进程模型.IIS5.0
    平台体系结构:Windows 2000
    应用程序进程模型:TCP/IP 内核
    DLLhost.exe(处于中等或高应用程序隔离模式下的多个 DLL 主机)IIS5.1
    平台体系结构:Windows XP Professional
    应用程序进程模型:TCP/IP 内核
    DLLhost.exe(处于中等或高应用程序隔离模式下的多个 DLL 主机)IIS6.0
    平台体系结构:Windows Server 2003 家族
    应用程序进程模型:HTTP.sys 内核
    当 IIS 以 IIS 5.0 隔离模式运行时:Inetinfo.exe(对于进程内应用程序)或 DLLhost.exe(对于进程外应用程序)当 IIS 以工作进程隔离模式运行时:W3wp.exe(多工作进程)
    (摘自IIS帮助文档,对IIS内核感兴趣的朋友可以继续深入研究一下哟.只是记得把成果共享一下呀.)根据上表IIS6.0可以运行于两种模式下,那么如何知道到底现在运行的是那种模式呢?很简单打开IIS管理器看一眼如果存在“应用程序池”文件夹,则为工作进程隔离模式;如果不存在“应用程序池”文件夹,则为 IIS 5.0 隔离模式。根据我的IIS管理器里有"应用程序池"文件夹,得到我的IIS运行于工作进程隔离模式,推出ISAPI DLL依附于W3WP.EXE进程.好了,现在来试一次,(确定IIS已经启动了,以管理员角色登录,)一:创建虚拟目录二:在虚拟目录中用VS2003创建一个扩展ISAPI  DLL(MFC)项目三:生成该项目.四:在Default(CHttpServerContext* pCtxt)函数第一行设个断点.五:在点击调试菜单->进程,在进程窗口中点击显示系统进程找到我们的W3WP.EXE点击附加.在弹出的附加到进程的对话窗中选择Native单击确定,关闭进程窗口,好了调试环境以创建好,就等你触发了.六:打开IE浏览器,浏览你的ISAPI DLL,如:HTTP://LocalHost/MyWeb/MyIsapi/debug/MyIsapi.dll 回车,是不是停在了VS2003代码中的断点处了哟(连IIS服务的停止启动都不需要).然后就开始调吧. GOOD LUCK!其它的环境我没试过, 不过我想根据以上思路应该也可以吧