设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP

ASP中令人震撼的Debug类

作者:佚名 出处:网络转载 时间:06-09 点击:

内容载入中...

不知道用ASP写代码的朋友是不是和我有一样的感受,ASP中最头疼的就是调试程序的时候不方便,我想可能很多朋友都会用这样的方法“response.write ”,然后输出相关的语句来看看是否正确。前几天写了一个千行的页面,里面大概有七八个SUB/FUNCTION,调试的时候用了有三十几个response.write ,天,调试完后把这三十个一个个删除,累!

今天看到一个ASP中的Debug类(VBS),试用了一下,绝!

使用方法很简单:

test.asp

<!--#INCLUDE FILE="debuggingConsole.asp"-->
<%
output="XXXX"
Set debugstr = New debuggingConsole
    debugstr.Enabled = true
    debugstr.Print "参数output的值", output
    '……
    debugstr.draw
Set debugstr = Nothing
%>

===================================================

debuggingConsole.asp

<%
Class debuggingConsole

 private dbg_Enabled
 private dbg_Show
 private dbg_RequestTime
 private dbg_FinishTime
 private dbg_Data
 private dbg_DB_Data
 private dbg_AllVars
 private dbg_Show_default
 private DivSets(2)
   
 'Construktor => set the default values
 Private Sub Class_Initialize()
  dbg_RequestTime = Now()
  dbg_AllVars = false
  Set dbg_Data = Server.CreateObject("Scripting.Dictionary")
  DivSets(0) = "<TR><TD style='cursor:hand;' onclick=""javascript:if (document.getElementById('data#sectname#').style.display=='none'){document.getElementById('data#sectname#').style.display='block';}else{document.getElementById('data#sectname#').style.display='none';}""><DIV id=sect#sectname# style=""font-weight:bold;cursor:hand;background:#7EA5D7;color:white;padding-left:4;padding-right:4;padding-bottom:2;"">|#title#|  <DIV id=data#sectname# style=""cursor:text;display:none;background:#FFFFFF;padding-left:8;"" onclick=""window.event.cancelBubble = true;"">|#data#|  </DIV>|</DIV>|"
  DivSets(1) = "<TR><TD><DIV id=sect#sectname# style=""font-weight:bold;cursor:hand;background:#7EA5D7;color:white;padding-left:4;padding-right:4;padding-bottom:2;"" onclick=""javascript:if (document.getElementById('data#sectname#').style.display=='none'){document.getElementById('data#sectname#').style.display='block';}else{document.getElementById('data#sectname#').style.display='none';}"">|#title#|  <DIV id=data#sectname# style=""cursor:text;display:block;background:#FFFFFF;padding-left:8;"" onclick=""window.event.cancelBubble = true;"">|#data#|  </DIV>|</DIV>|"
  DivSets(2) = "<TR><TD><DIV id=sect#sectname# style=""background:#7EA5D7;color:lightsteelblue;padding-left:4;padding-right:4;padding-bottom:2;"">|#title#|  <DIV id=data#sectname# style=""display:none;background:lightsteelblue;padding-left:8"">|#data#|  </DIV>|</DIV>|"
  dbg_Show_default = "0,0,0,0,0,0,0,0,0,0,0"
 End Sub
 
 Public Property Let Enabled(bNewValue) ''[bool] Sets "enabled" to true or false
  dbg_Enabled = bNewValue
 End Property
 Public Property Get Enabled ''[bool] Gets the "enabled" value
  Enabled = dbg_Enabled
 End Property
 
 Public Property Let Show(bNewValue) ''[string] Sets the debugging panel. Where each digit in the string represents a debug information pane in order (11 of them). 1=open, 0=closed
  dbg_Show = bNewValue
 End Property
 Public Property Get Show ''[string] Gets the debugging panel.
  Show = dbg_Show
 End Property
 
 Public Property Let AllVars(bNewValue) ''[bool] Sets wheather all variables will be displayed or not. true/false
  dbg_AllVars = bNewValue
 End Property
 Public Property Get AllVars ''[bool] Gets if all variables will be displayed.
  AllVars = dbg_AllVars
 End Property
 
 '******************************************************************************************************************
 ''@SDESCRIPTION: Adds a variable to the debug-informations.
 ''@PARAM:   - label [string]: Description of the variable
 ''@PARAM:   - output [variable]: The variable itself
 '******************************************************************************************************************
 Public Sub Print(label, output)
  If dbg_Enabled Then
   if err.number > 0 then
    call dbg_Data.Add(ValidLabel(label), "!!! Error: " & err.number & " " &  err.Description)
    err.Clear
   else
    uniqueID = ValidLabel(label)
    response.write uniqueID
    call dbg_Data.Add(uniqueID, output)
   end if
document.getElementById('loading').style.display="none";

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息