把VC6.0写的过滤器拿来调试时,
在网上找了教程,在可执行调试对话中添加了'E:\WINDOWS.1\system32\inetsrv\w3wp.exe
程序变量中添加 -debug在按F5后,提示Loaded 'E:\WINDOWS.1\system32\inetsrv\w3wp.exe', no matching symbolic information found.
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\kernel32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\advapi32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\secur32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\user32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\gdi32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\ole32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\iisutil.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\crypt32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\msasn1.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\imm32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\lpk.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\usp10.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\xpsp2res.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3core.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\oleaut32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\wsock32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\ws2_32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\ws2help.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3cache.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3tp.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3dt.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\httpapi.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\shlwapi.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\strmfilt.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3comlog.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\lonsint.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\iisRtl.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\netapi32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\wamreg.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\iismap.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\iisres.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\clbcatq.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\comres.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\version.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\admwprox.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\rsaenh.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\psapi.dll', no matching symbolic information found.
The thread 0xF98 has exited with code 0 (0x0).
The thread 0xF9C has exited with code 0 (0x0).
The thread 0xF94 has exited with code 0 (0x0).
The thread 0xFA0 has exited with code 0 (0x0).
The thread 0xF80 has exited with code -1 (0xFFFFFFFF).
The thread 0xF90 has exited with code -1 (0xFFFFFFFF).
The thread 0xF88 has exited with code -1 (0xFFFFFFFF).
The thread 0xF8C has exited with code -1 (0xFFFFFFFF).
The thread 0xF84 has exited with code -1 (0xFFFFFFFF).
The thread 0xF7C has exited with code -1 (0xFFFFFFFF).
The program 'E:\WINDOWS.1\system32\inetsrv\w3wp.exe' has exited with code -1 (0xFFFFFFFF).然后该怎么办,这好象是错误的吧,望好心人能帮助解答,谢谢
在网上找了教程,在可执行调试对话中添加了'E:\WINDOWS.1\system32\inetsrv\w3wp.exe
程序变量中添加 -debug在按F5后,提示Loaded 'E:\WINDOWS.1\system32\inetsrv\w3wp.exe', no matching symbolic information found.
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\kernel32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\advapi32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\secur32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\user32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\gdi32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\ole32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\iisutil.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\crypt32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\msasn1.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\imm32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\lpk.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\usp10.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\xpsp2res.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3core.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\oleaut32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\wsock32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\ws2_32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\ws2help.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3cache.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3tp.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3dt.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\httpapi.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\shlwapi.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\strmfilt.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\w3comlog.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\lonsint.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\iisRtl.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\netapi32.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\wamreg.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\iismap.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\inetsrv\iisres.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\clbcatq.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\comres.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\version.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\admwprox.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\rsaenh.dll', no matching symbolic information found.
Loaded 'E:\WINDOWS.1\system32\psapi.dll', no matching symbolic information found.
The thread 0xF98 has exited with code 0 (0x0).
The thread 0xF9C has exited with code 0 (0x0).
The thread 0xF94 has exited with code 0 (0x0).
The thread 0xFA0 has exited with code 0 (0x0).
The thread 0xF80 has exited with code -1 (0xFFFFFFFF).
The thread 0xF90 has exited with code -1 (0xFFFFFFFF).
The thread 0xF88 has exited with code -1 (0xFFFFFFFF).
The thread 0xF8C has exited with code -1 (0xFFFFFFFF).
The thread 0xF84 has exited with code -1 (0xFFFFFFFF).
The thread 0xF7C has exited with code -1 (0xFFFFFFFF).
The program 'E:\WINDOWS.1\system32\inetsrv\w3wp.exe' has exited with code -1 (0xFFFFFFFF).然后该怎么办,这好象是错误的吧,望好心人能帮助解答,谢谢
设置了断点也无法执行
这个ISAPI的功能是过滤敏感词,现在的问题是加载不成功,查看事件,是数据加载错误
所以想看是哪条数据加载错误,有没有好的调试方法,谢谢拉
MFC ISAPI都有一个全局类,命名为C+工程名+Extension
在此类的构造函数的第一行之前加上下面三行代码的其中一行
1:)MessageBox(NULL,"Please debug me!","Debug",MB_OK|MB_SERVICE_NOTIFICATION);
2:)DebugBreak();
3:)_asm int 3
然后在生成目录的文件夹上点右键,以debug为例,选择"共享与安全",在web共享里面选择”共享“该文件夹,权限设置为”执行“最后点确定。
运行IIS,在浏览器里面输入http://127.0.0.1/debug/isapi的名字(如testisapi.dll,如果需要输入密码则运行inetmgr,找到debug虚拟目录,点属性,然后勾选匿名访问。
这时会弹出一个对话框,先别点确定,回到vs2003中,在要调试的地方下好断点,然后在任务管理器中找到用户名为IWAM_XX的DLLHOST的进程ID,然后在vs2003菜单中选择调试->进程->选择刚才找到的进程ID,然后点附加,再点刚才弹出的框的确定(如果使用2或者3则点取消),然后程序就会停在断点下了,如果没停则是没下好断点,或者RPWT。
对于GetFilterVersion的关键点加入debug调试代码,形如:
#if WRITE_DEBUG
WriteDebug("Begin xxx Filter...");
#endif
二、运行调试
如上,在事件响应程序的关键点写debug文件在IIS 6.0之后运行ISAPI,需要对于“web 服务扩展”设置“允许”
同时注意系统中关键性的数据读写保护(比如注册表)
最笨的办法,一行代码写一条调试信息总是能找到问题的如下为一个WriteDebug的函数,供参考
void WriteDebug(LPTSTR pszMess)
{#if WRITE_DEBUG if(::WaitForSingleObject(g_EV_Debug.m_hObject, 1000) != WAIT_OBJECT_0)
{
g_EV_Debug.SetEvent();
return ;
} CStdioFile File;
TCHAR sz[4096]={0};
_stprintf(sz,
_T("%sSLog_%s.txt"),
g_szRootPath,
COleDateTime::GetCurrentTime().Format(_T("%y%m%d"))); if (!File.Open(sz, CFile::modeWrite | CFile::modeCreate|
CFile::modeNoTruncate | CFile::typeText, 0))
{
g_EV_Debug.SetEvent();
return ;
}
time_t tm;
time(&tm);
struct tm *p;
p= localtime( &tm );
_stprintf(sz,
_T("[%02d-%02d-%02d %02d:%02d:%02d]%s\r\n"),
p->tm_year%100,p->tm_mon+1,p->tm_mday,
p->tm_hour,p->tm_min,p->tm_sec,
pszMess); TRY
{
File.SeekToEnd();
File.WriteString(sz);
File.Close(); }
CATCH (CFileException, e)
{
e->Delete();
}
END_CATCH
g_EV_Debug.SetEvent();#endif}