发新话题
打印

[转载]asp调试小结

[转载]asp调试小结

信息来源:天极网

1..asp程序要放在iis的虚拟目录下才能运行,在iis里设置能匿名访问,读取并可以执行脚本,如果想要往服务器写数据的话,比如说fso还要打开写入功能,如果要执行cgi等可执行程序,如一些语音聊天室等插件,还要把执行权限打开.

2.虚拟目录最好指定在fat32下,如果放到ntfs下的话,数据库文件要让iis用户(一般是iusr_加上你的机器名字)能完全访问,如果是access数据库的话,还要设置数据库的那个文件夹的权限让iusr_完全访问,因为access数据库还要生成一个临时的.lib文件

3.如果出什么500错误的话,在浏览器的internet选项/高级里把http友好提示的钩去掉,就可以看到你写大代码到底是那里出错了,这样就容易找到错误了

4.如果操作数据库出错的话,可以把执行sql的字符串读出来看看对不对,例如:
response.write(strsql)

5.养成良好的编程习惯,表单提交前先用js脚本验证,变量比较的时候要显式转换成同一类型,用option语句,确保变量先声明后使用,不要忘记显式关闭记录集,数据库连接......再多了就得自己多多体会了。
下面我再转两个调试的函数,希望对大家调试asp脚本有点用处哦
<%
&#39;---------------------------------------------------------------------------
&#39;             程序作用:打印request.form输入的所有值
&#39;---------------------------------------------------------------------------
Response.Write FormData()
   function FormData()
    Dim llngMaxFieldIndex
    Dim llngFieldIndex
    Dim llngMaxValueIndex
    Dim llngValueIndex
    Dim lstrDebug
    &#39; Count Form
    llngMaxFieldIndex = Request.Form.Count
   
    &#39; Let user know if Form Do Not exist
    if llngMaxFieldIndex = 0 Then
    FormData = "Form data is empty."
    Exit function
    End if
   
    &#39; Begin building a list of all Form
    lstrDebug = "<OL>"
   
    &#39; Loop through Each Form
    For llngFieldIndex = 1 To llngMaxFieldIndex
    lstrDebug = lstrDebug & "<LI>" & Server.HTMLEncode(Request.Form.Key(llngFieldIndex))
   
    &#39; Count the values
    llngMaxValueIndex = Request.Form(llngFieldIndex).Count
   
    &#39; if the Field doesn&#39;t have multiple values ...
    if llngMaxValueIndex = 1 Then
     lstrDebug = lstrDebug & " = "
     lstrDebug = lstrDebug & Server.HTMLEncode(Request.Form.Item(llngFieldIndex))
    &#39; Else Loop through Each value
    Else
     lstrDebug = lstrDebug & "<OL>"
     For llngValueIndex = 1 To llngMaxValueIndex
      lstrDebug = lstrDebug & "<LI>"
      lstrDebug = lstrDebug & Server.HTMLEncode(Request.Form(llngFieldIndex)(llngValueIndex))
      lstrDebug = lstrDebug & "</LI>"
     Next
     lstrDebug = lstrDebug & "</OL>"
    End if
    lstrDebug = lstrDebug & "</LI>"
    Next
    lstrDebug = lstrDebug & "</OL>"
    &#39; Return the data
    FormData = lstrDebug
   
   End function

%>

<%
&#39;-------------------------------------------------------------------------
&#39;        函数功能:输出所有输入request.querystring值,用于调试!
&#39;-------------------------------------------------------------------------

  Response.Write QueryStringData()
   function QueryStringData()
    Dim llngMaxFieldIndex
    Dim llngFieldIndex
    Dim llngMaxValueIndex
    Dim llngValueIndex
    Dim lstrDebug
    &#39; Count QueryString
    llngMaxFieldIndex = Request.QueryString.Count
   
    &#39; Let user know if QueryString Do Not exist
    if llngMaxFieldIndex = 0 Then
    QueryStringData = "QueryString data is empty."
    Exit function
    End if
   
    &#39; Begin building a list of all QueryString
    lstrDebug = "<OL>"
   
    &#39; Loop through Each QueryString
    For llngFieldIndex = 1 To llngMaxFieldIndex
    lstrDebug = lstrDebug & "<LI>" & Server.HTMLEncode(Request.QueryString.Key(llngFieldIndex))
   
    &#39; Count the values
    llngMaxValueIndex = Request.QueryString(llngFieldIndex).Count
   
    &#39; if the Field doesn&#39;t have multiple values ...
    if llngMaxValueIndex = 1 Then
     lstrDebug = lstrDebug & " = "
     lstrDebug = lstrDebug & Server.HTMLEncode(Request.QueryString.Item(llngFieldIndex))
    &#39; Else Loop through Each value
    Else
     lstrDebug = lstrDebug & "<OL>"
     For llngValueIndex = 1 To llngMaxValueIndex
      lstrDebug = lstrDebug & "<LI>"
      lstrDebug = lstrDebug & Server.HTMLEncode(Request.QueryString(llngFieldIndex)(llngValueIndex))
      lstrDebug = lstrDebug & "</LI>"
     Next
     lstrDebug = lstrDebug & "</OL>"
    End if
    lstrDebug = lstrDebug & "</LI>"
    Next
    lstrDebug = lstrDebug & "</OL>"
    &#39; Return the data
    QueryStringData = lstrDebug
   
   End function

%>
在asp.net调试跟踪,错误处理就更简单了
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

发新话题