为什么要写这篇文章,因为实在是太苦恼了,我相信还有更多人也在苦恼,不知道怎么调试,现在我就为苦恼者指点一条明路吧
如果你只想简单的调试,也就是说不细节到每一行代码的调试,那就非常简单,
可以直接更改IIS的是否缓存ISAPI应用程序,改为否,则IIS不会吧DLL加载到内存,而是每次临时加载,
所以每次修改完DLL后可以直接覆盖,而不用重启IIS,挺方便的
当然,如果想跟踪到代码级,那就稍微有点复杂了
步骤如下:
1、IIS的目录(根目录、虚拟目录)运行级别改为低(默认为中)
2、把IIS目录的运行用户改为超级用户运行
3、更改本地安全设置-用户权利指派-以操作系统操作,选中超级用户
4、打开你的VC ISAPI工程,选附加到进程子菜单项,然后选inetinfo.exe
5、选择项目菜单的设置菜单项,查看一下DEBUG TAB的附加DLL中是否有你要调试的ISAPI DLL,如果没有则加上,然后保存,重新步骤4
6、如果一切正常,则打开你的源文件,看能不能设置断点,如果不能请仔细检查上面步骤
7、发出IE请求,VC应该可以拦截到这个请求对当前DLL的操作
8、调试即可
我的环境是 XP2+VC6+SP4