用IIS调试程序时,有的页面可以显示出错行及出错原因,虽然原因不是很具体但足以引导调试程序,但有些时候就直接出现:HTTP 500 - 内部服务器错误 就完了,很影响调试,IIS错误总结如下:
1、Win2KServer的管理Web站点不要关闭。
2、检查主目录选项下面“配置”下的应用程序调试有没有被选中,(小编使用发现,如果管理Web站点不关闭,此项就是都不选也能在浏览器中出现错误提示。)
3、可以修改500-100.asp文件使错误提示更生动。
4、 可以在预先的代码中错误处理:On Error Resume Next。
5、先写框架,编写代码要先将框架(不是指画面的)写好,框架有了,更详细的代码写起来就得心应手了。
6、 多用CSS少用Table!
7、调试的时候在页面屏蔽、输出一些敏感的东东response.write""
response.flush()
response.end
这个方法也不是最好,调试的时候可以看到一些信息,但是调试完后需要找到所有的与调试有关的输出语句,也是很麻烦的。
8、程序中有session时,尽量不要ctrl+n window.open新窗口,以免session值混了!
9、在IIS的虚拟目录的配置中设置调试,发送详细错误信息到客户端。IE中工具==>选项==>高级,取消掉显示友好的HTTP错误信息。
10、收集的错误代码很实用的。Active Server Pages, ASP 0126 (0x80004005) --> 找不到包含文件
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) --> sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) --> sql语句出错(字段名错误,或数据类型不匹配)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) --> sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57) --> sql语句出错(要插入或更新的数据溢出)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) --> sql语句出错(update字段名或要更新的数据类型错误)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005) --> sql语句出错(要插入或更新的字段的数值不能为空值)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005) --> 打开数据库出错,没有在指定目录发现数据库
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37) --> 没有发现表
Microsoft VBScript 运行时错误 (0x800A000D) --> 错误引用rs变量(rs对像已关闭或未定义)
Microsoft VBScript 运行时错误 (0x800A01C2) --> vbscript脚本错误(vbscript语句出错)
Microsoft VBScript 运行时错误 (0x800A0006) --> vbscript脚本错误(溢出错误)
Microsoft VBScript 编译器错误 (0x800A040E) --> 缺少loop
Microsoft VBScript 编译器错误 (0x800A03EA) --> 缺少if或end if
Microsoft VBScript 编译器错误 (0x800A03EE) --> 语句未结束(缺少")")
Microsoft VBScript 编译器错误 (0x800A03F6) --> if语句出错(缺少end if)
Microsoft VBScript 运行时错误 (0x800A005B) --> 缺少set
Microsoft VBScript 运行时错误 (0x800A0005) --> 变量未定义
Microsoft VBScript 编译器错误 (0x800A03F9) --> if语句缺少then
Microsoft VBScript 编译器错误 (0x800A0411) --> dim语句定义错误
Microsoft VBScript 编译器错误 (0x800A0408) --> sql语句错误(?????????????????)
ADODB.Recordset (0x800A0BB9) --> sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset (0x800A0CC1) --> rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset (0x800A0BCD) --> rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset (0x800A0E78) --> rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset (0x800A0CC1) --> rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset (0x800A0E7D) --> conn定义错误
ADODB.Recordset (0x800A0CB3) --> 数据库以只读方式打开,无法更新数据。