如何调试ISAPI过滤器?

时间:2011-09-06 08:52:49

标签: isapi

ISAPI过滤器是附加到IIS Web服务器的w3wp进程的dll。 ISAPI过滤器必须强制导出两个函数即。 HttpFilterProc和GetFilterVersion。我已经编写了一个这样的过滤器,但它没有像HttpFilterProc中的开关盒没有被激活那样工作。我该怎么做才能检查这里的错误?

1 个答案:

答案 0 :(得分:1)

在HttpFilterProc中添加对DebugBreak的调用,并在将其作为ISAPI过滤器添加之前以调试模式构建DLL。

如果你的HttpFilterProc被调用,windows会弹出一条消息来调试这个过程。

如果它没有加载你的DLL。你需要检查它为什么不是。一些原因可能是:

  1. 与应用程序池位数相比,ISAPI筛选器配置了不同的位数。
  2. 您尚未在GetFilterVersion函数中注册任何ISAPI事件。请参阅ISAPI事件列表here