- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
|
(dbg_DB_Data, "DBMS",oSQLDB.Properties("DBMS Name") & " Ver: " & oSQLDB.Properties("DBMS Version")) 9 A% C. s8 ~$ e& J6 W7 _3 `) B% V
dbg_DB_Data = AddRow(dbg_DB_Data, " rovider",oSQLDB.Properties(" rovider Name") & " Ver: " & oSQLDB.Properties(" rovider Version"))
k! g( p( s1 C ? F8 GEnd Sub < >'***********************************************************
$ P# h) }1 l0 i'* PrintDatabaseInfo . K9 u3 L3 o* b: R
'*********************************************************** . v3 b$ h. Z1 f2 f
Private Sub PrintDatabaseInfo(byval DivSetNo)
! i$ I; ?! f/ s$ o4 Z dim tbl
[1 h* F. u. K; H% m. c/ P- w tbl = MakeTable(dbg_DB_Data)
$ x7 u, ~' Y3 G+ Q tbl = replace(replace(replace(DivSets(DivSetNo),"#sectname#","DATABASE"),"#title#","DATABASE INFO"),"#data#",tbl)
5 A% k" f$ N& q3 ~9 ^ Response.Write replace(tbl,"|", vbcrlf) \, k# t: T/ I& Z9 c1 `
End Sub </P>< >'***********************************************************
; {$ g$ y2 w" m9 A'* PrintCollection 7 s2 N& k* d4 @$ ~
'*********************************************************** 8 B$ v b% d( ? {
Private Sub PrintCollection(Byval Name, ByVal Collection, ByVal DivSetNo, ByVal ExtraInfo) p# u% ?6 E, d
Dim vItem, tbl, Temp
+ j0 J7 M/ A& I$ o) m5 t For Each vItem In Collection % W0 r# Y9 `; v7 z8 e
if isobject(Collection(vItem)) and Name <> "SERVER VARIABLES" and Name <> "QUERYSTRING" and Name <> "FORM" then $ }0 `( L" @; e) {2 |4 ^( V
tbl = AddRow(tbl, vItem, "{object}") + n# s% T, H$ y5 t% U
elseif isnull(Collection(vItem)) then . @" [; q0 z* q0 P% `8 ?* f
tbl = AddRow(tbl, vItem, "{null}") ' r$ f4 o# j' C, E
elseif isarray(Collection(vItem)) then
6 B6 O* V' Z6 J7 h! J+ R' w6 D tbl = AddRow(tbl, vItem, "{array}")
& E5 s) b4 R9 o, e6 \+ y else
0 [% r7 z2 {& t if dbg_AllVars then / I" J2 O* Y9 R; L! o# I
tbl = AddRow(tbl, "<nobr>" & vItem & "</nobr>", server.HTMLEncode(Collection(vItem)))
1 g7 m5 B$ u, c# ?9 z* F& ` elseif (Name = "SERVER VARIABLES" and vItem <> "ALL_HTTP" and vItem <> "ALL_RAW") or Name <> "SERVER VARIABLES" then ) q1 p, ?6 E" x% H; O
if Collection(vItem) <> "" then ( X& n! ~; j+ ~/ U* O+ i
tbl = AddRow(tbl, vItem, server.HTML! u) ^1 {) E, p4 I' X- O
Encode(Collection(vItem))) ' & " {" & TypeName(Collection(vItem)) & "}") - _9 }" D: z" P9 ]: H3 o
else
x C$ r. y8 m1 u/ }5 r1 M( j tbl = AddRow(tbl, vItem, "...") & \% h. A- t0 `# R9 o% h
end if * X/ G8 G* P* _1 _% D. L+ R7 F
end if
% ~4 b0 w% Z& ?4 a3 _ c g; L end if 8 W# E6 ? k5 `" E( M d9 A
Next - O, l% U, F) m9 Q2 J8 X) U
if ExtraInfo <> "" then tbl = tbl & "<TR><TD COLSPAN=2><HR></TR>" & ExtraInfo ( z6 _( z5 D# }3 r& f% j0 N
tbl = MakeTable(tbl)
& o7 }8 N% }8 T+ V3 F1 q" ~" S if Collection.count <= 0 then DivSetNo =2
2 O. U" x/ P! T( v8 |- E- }% s tbl = replace(replace(DivSets(DivSetNo),"#title#",Name),"#data#",tbl) ; P5 X: y& ~- u, h6 r
tbl = replace(tbl,"#sectname#",replace(Name," ","")) # f* e4 o. ~0 b. l9 k
Response.Write replace(tbl,"|", vbcrlf) 0 x* @5 T, u9 h" ~( B
End Sub 7 l% s7 k9 ]0 ~, S5 I* v# O( |
7 [7 S8 J" p7 ^% j" n- Y# g
'***********************************************************
' ?5 S C; P9 A2 r0 H'* AddRow
1 V& J; s" L0 N7 j, s5 ~'*********************************************************** X' v7 G- f3 R( b& n) `
Private Function AddRow(byval t, byval var, byval val)
: A, W% s/ X- ~7 ~2 e9 w t = t & "|<TR valign=top>|<TD>|" & var & "|<TD>= " & val & "|</TR>" . x: t# b" c2 i* p: h- a
AddRow = t . w: z2 o3 y. H$ P# k
End Function </P>< >'***********************************************************
4 y4 r4 F) F1 k4 @3 f'* MakeTable
1 o8 i% \1 h& v1 C'***********************************************************
, ~# i0 h& A+ c/ _1 F6 k; j ]Private Function MakeTable(byval tdata) " W0 c2 m6 R6 J. O& j
tdata = "|<table border=0 style=""font-size:10pt;font-weight:normal;"">" + tdata + "</Table>|" 1 o% r& f" }3 J' c2 ~$ g$ T; ]
MakeTable = tdata & K; k! V) S7 G" {6 I
End Function </P>< >'***********************************************************
- j6 n/ ~. M8 K4 i, l" ~''@SDESCRIPTION: Draws the Debug-panel
& m9 R5 r; n1 u'***********************************************************
' Q" b [/ ~7 ~ YPublic Sub draw() 3 v( b7 k9 Y- s+ ?7 A9 J7 y4 k* U
If dbg_Enabled Then
1 N3 o- C% d9 [( Q) Z! m- x/ P& x dbg_FinishTime = Now()
! a/ y/ [. {% ? R1 H: o2 k9 J& N3 ?) F/ S
Dim DivSet, x ' X, O) w3 N( Y. L
DivSet = split(dbg_Show_default,",")
; z5 z0 M8 y* r+ P dbg_Show = split(dbg_Show,",") + X) k4 k: G3 o/ ?6 H
/ B9 x6 C y# J# }6 L
For x = 0 to ubound(dbg_Show)
5 q" y1 f# Y- Q# }7 w; V: @( `. c divSet(x) = dbg_Show(x) ' h" l R. h! r! ]' g
Next
% J. H/ J2 |" E
# _2 c+ `4 O+ H( u/ h Response.Write "<BR><Table width=100% cellspacing=0 border=0 style=""font-family:arial;font-size:9pt;font-weight:normal;""><TR><TD><DIV style=""background:#005A9E;color:white;padding:4;font-size:12pt;font-weight:bold;"">Debugging-console:</DIV>"
3 M% b! Y" M' ` m$ q Call PrintSummaryInfo(divSet(0)) 2 K3 u& q9 ~ d9 D' ]0 h
Call PrintCollection("VARIABLES", dbg_Data,divSet(1),"")
( r/ O2 R0 K- w( x6 ?+ Y" X# Z Call PrintCollection("QUERYSTRING", Request.QueryString(), divSet(2),"") ) T0 D5 x7 U8 n; r
Call PrintCollection("FORM", Request.Form(),divSet(3),"")
( B' h& K( U" w0 `! H Call PrintCookiesInfo(divSet(4))
" [# \# u" g; E- v8 U# d Call PrintCollection("SESSION", Session.Contents(),divSet(5),AddRow(AddRow(AddRow("","Locale ID",Session.LCID & " (&H" & Hex(Session.LCID) & ")"),"Code Page",Session.CodePage),"Session ID",Session.SessionID)) 5 @3 g8 V1 P9 c& ?( K' a/ V
Call PrintCollection("APPLICATION", Application.Contents(),divSet(6),"") : u" \8 z7 N H; v( d
Call PrintCollection("SERVER VARIABLES", Request.ServerVariables(),divSet(7),AddRow("","Timeout",Server.ScriptTimeout))
# U+ A" {. N4 `5 ?2 m/ E3 G Call PrintDatabaseInfo(divSet(8)) 4 n9 o& j' |6 }! {3 {0 I' k
Call PrintCollection("SESSION STATIC OBJECTS", Session.StaticObjects(),divSet(9),"")
# h3 c9 M3 V& Y/ x% H5 Z8 | Call PrintCollection("APPLICATION STATIC OBJECTS", Application.StaticObjects(),divSet(10),"") 2 L; p( t0 M- \5 W T* F- `
Response.Write "</Table>"
3 O: p; W2 v1 \1 \ End If ; m& ]& f+ S) S2 Y L
End Sub </P>< >'Destructor , g$ e" Q. B) i! t. @/ G
Private Sub Class_Terminate()
1 j1 M/ z; ~* ?$ z6 |# j Set dbg_Data = Nothing ( j9 Q: a0 F. Z' |- o; ?# A
End Sub </P>< >End Class </P>< >%> </P>< >类的说明: </P>< >
; k" _. h1 \% I6 X- b" YCLASS debuggingConsole
. f8 G: N+ c: U( Q; L, vVersion: 1.2 </P>< >-------------------------------------------------------------------------------- </P>< > ublic Properties </P>< > roperty Let Enabled(bNewValue)===[bool] Sets "enabled" to true or false
) J/ I# o( _4 q0 ]/ W% r% R&n' f9 J# u: q- b3 t8 M/ }4 |6 s
bsp; + p* W9 l! C3 {6 P5 k+ q$ Y
Property Get Enabled===[bool] Gets the "enabled" value
! h" ~8 |) h7 U9 c; F% p9 F/ a {
4 F; V! E* u& }9 `( a4 NProperty 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 & C$ E7 g0 t0 j
1 F. {& v8 F1 K) D6 @4 g$ m1 G
Property Get Show===[string] Gets the debugging panel.
# F# W, d/ o2 r 7 W. Q% ` x8 U- Y+ k5 v- x
Property Let AllVars(bNewValue)===[bool] Sets wheather all variables will be displayed or not. true/false </P>< > roperty Get AllVars===[bool] Gets if all variables will be displayed. </P>< >--------------------------------------------------------------------------------
' {6 Y$ l8 E6 J1 D# aPublic Methods </P>< >public sub===Print (label, output) : b5 l" H. H" L7 t/ Y; `+ o
Adds a variable to the debug-informations. </P>< >public sub===GrabDatabaseInfo (byval oSQLDB)
3 g. Q; E. Y1 q& ~& ` Adds the Database-connection object to the debug-instance. To display Database-information </P>< >public sub===draw ()
$ [7 i2 f4 I& J* [) n, \. | Draws the Debug-panel </P>< >-------------------------------------------------------------------------------- ; k# b! g u, l7 R* K
Methods Detail
5 g" b g7 e" ^0 B7 k4 Y. z
, a' s9 J1 ^& @9 r2 O) o- cpublic sub===Print (label, output) $ ]4 T9 A" h- i% M" N, [
Parameters: - [/ t8 Y' _0 ?1 m, U
- label [string]: Description of the variable
5 Q) T' G9 I* h, q - output [variable]: The variable itself n' {+ v! H/ ^* b5 Y: x. f# l" ]
( C& m0 O' @) U" l0 cpublic sub===GrabDatabaseInfo (byval oSQLDB) 1 c H: v& F; x) z3 D, p9 x
Parameters: : Q5 U% c0 x! S r5 Q" p' q7 d/ C
- oSQLDB [object]: connection-object</P> |
|