在XP系统下用VC6调试IIS 5.1 ISAPI扩展DLL/筛选器

我(Liigo)真的是败给它了,折腾了一晚上又一白天,尝试了无数遍,直到今晚早些时候才算有些眉目了。经历惨痛的过程,终于获得一些经验总结。其实按照我后面提供的两个链接,仔细设置和操作,完全是可以达成目的的,只是有些东西太隐晦,很不直观,以致被我忽略。在这里我必须总结曾经让我(Liigo)伤心失望无数遍的几处要点:

1、VC Start debug -> Attach to Process 时,如果遇到不显示任何系统进程,是该VC版本的BUG,不要纠结。按照微软的建议,设置VC为Just-In-Time调试器,在进程管理器里右键“调试”IIS进程(inetinfo.exe或其他)即可,一样可以调试。(Liigo在这里曾经纠结又纠结。)

2、把VC调试器Attach到IIS后,显示一片汇编代码,F10 F5都没有任何反应,别灰心,这是正常的。通过VC主菜单打开欲调试的DLL源代码文件(.cpp),按F9下断点没有任何反应,别灰心,这是正常的。(我擦,血泪斑斑的教训啊,Liigo在这里伤心失望了多少次,有木有!还一直怀疑是其他哪里设置的不对!)

3、点击VC菜单Project -> Settings -> Debug -> Additional DLLs,加入DLL完整路径文件名,点击OK按钮。点击OK的时候,VC把此DLL的调试信息加载了,于是才可以下断点了!记得以后每次都要过来点这个OK按钮。这是要点。(如果不点这个OK,只有在浏览器里先调用一次DLL然后才能回去下断点,然而由于该DLL往往都有缺陷——不然调试它干嘛——第一次调用一下子就把自己搞挂了,再没机会下断点了,十分尴尬。)

以上就是调试和下断点的要点。去浏览器调用DLL,程序在终于刚才下断点地方暂停了,开始调戏ESP吧,嘻嘻。其他的都属于基本操作吧,看下面两篇文章足够了。

http://blog.sina.com.cn/s/blog_3f59eb3d01000bbc.html
http://www.cppblog.com/beautykingdom/archive/2008/07/19/56620.html

 

你可能感兴趣的:(浏览器,汇编,XP,dll,扩展,IIS)