轻松调试isapi (环境IIS6.0 WIN2K3 VS2003)

原创 2004年12月30日 15:56:00

最近有需要要调试一个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!

其它的环境我没试过, 不过我想根据以上思路应该也可以吧.tongue_smile.gif

IIS6.0中ISAPI伪静态设置图文教程

 1、右键点击 要设置网站的网站 2、属性 ——》主目录 ——》配置——》 3、如右侧窗口,找到 .aspx 扩展名——》编辑——》复制 可执行文件的路径——》关闭  ...
  • mss359681091
  • mss359681091
  • 2016年04月06日 14:07
  • 378

IIS下301跳转方法:ISAPI_Rewrite伪静态重写+PHP301

今天把网站域名更为二级域名,准备把原来伪静态的页面301重定向到新的域名。 之前使用ISAPI_Rewrite 1.3做的伪静态:[ISAPI_Rewrite] CacheClockRate 360...
  • gorgle
  • gorgle
  • 2017年06月18日 16:39
  • 930

【工具设置】XP中安装IIS6.0的详细方法步骤

http://www.jb51.net/os/windows/WinXP/45328.html XP中安装IIS6.0的详细方法步骤(图文教程) 来源:互联网 作者:佚名 时间:12-01...
  • CrackLibby
  • CrackLibby
  • 2015年09月15日 17:16
  • 1761

安装WinCE6.0开发环境

安装WinCE6.0开发环境 安装步骤如下:                Please install the following software in order ...
  • zxxSsdsd
  • zxxSsdsd
  • 2013年12月21日 15:18
  • 2735

VS.NET 2003集成环境插件开发指南(一)----操纵菜单

一、             简介――Visual Studio.NET插件能做什么? Visual Studio.NET插件能做很多事情,例如: 1、   编写如CodeRush一样的开...
  • my98800
  • my98800
  • 2016年07月11日 08:28
  • 266

IIS6.0手动安装与配置asp.net2.0全过程

这个问题不是很新了,但是相信对一些新手来说还是有一定难度的,或是一些程序员本身就没有机会接触到这块,正好今天 我配置计算机,把这个过程记录下来,希望以后能用的上,也希望能给大家带来一点帮助(本次试用的...
  • szyone
  • szyone
  • 2013年07月04日 14:38
  • 657

ISAPI详细分析

ISAPI包括扩展和过滤器两种形式,都可以利用来开发动态动态Web内容。ISAPI扩展和过滤器都以DLL形式实现,供IIS进程调用。   扩展按规范必须实现两个函数接口:GetExtension...
  • ysq5202121
  • ysq5202121
  • 2013年03月26日 10:56
  • 1010

最新-如何在Windows server 2008中配置IIS 75的ISAPI和CGI限制

服务器越来越多的使用windows2008R2作为服务器操作系统,IIS7.5是安装在win7、win8、win10里的web服务器的管理程序,win2003、win2000的web服务器使用的是ii...
  • qqxinxi
  • qqxinxi
  • 2017年03月26日 18:20
  • 3067

CVE-2017-7269浅析-IIS6.0栈溢出漏洞

本文转载自 CVE-2017-7269:IIS6.0远程代码执行漏洞原理分析 CVE-2017-7269:IIS6.0远程代码执行漏洞分析及Exploit vmware安装Windows Ser...
  • qq_32400847
  • qq_32400847
  • 2017年04月14日 21:31
  • 1198

vs2003 mfc项目转换为vs2010项目遇到的问题

1. 计算机未注册mscomm控件,解决方法见fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined a...
  • lipengshuai0507
  • lipengshuai0507
  • 2014年10月15日 12:34
  • 851
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:轻松调试isapi (环境IIS6.0 WIN2K3 VS2003)
举报原因:
原因补充:

(最多只允许输入30个字)