불행히도 루비와 파이썬에서와 같은 방식으로 작동하지 않습니다. 내가 해결 한 차선책은 일이 잘못 될 수있는 오류 처리 함수를 호출하는 것입니다. 이 함수의 매개 변수에있는 숫자는 내 편집기에서 매크로를 실행할 때마다 적용됩니다 (텍스트 패드를 사용하면 \ i는 정규식에서 자동 번호 매기기입니다). 에디터가 이것을 지원하지 않으면 이것을하는 스크립트를 작성할 수 있습니다. 따라서 오류가 발생하면 오류 처리 함수가 호출 된 번호와 함께 기록되며 # number #을 (를) 찾아 소스에서 쉽게 찾을 수 있습니다.
이것은 ASP와 VB에서 모두 사용할 수 있지만 VB에서는 더 쉬운 방법이 있습니다. 텍스트 패드 나 승화 텍스트와 같은 일부 편집자는 vbs 스크립트를 실행하고 탭에 출력을 표시하며 오류가 발생하면 errormessage와 함께 해당 행에서 스크립트를 여는 행을 두 번 누르십시오. 이것은 또한 정규식에 의해 수행됩니다. 텍스트 패드 용 코드가 필요한지 알려주세요.
on error resume next
'initialize constants DEBUGLEVEL and LOGFILE
'initialize strHostName
'some code
oConn.execute(sql)
if not LogError("#1#") then
'do the things if successfull, otherwise log error with number
end if
'again some code
if not LogError("#2#") then
'do the things if successfull, otherwise log error with number
end if
'the debug and log functions
function LogError(errornumber)
'LogError\(\"#[0-9]+#\"\) replace by LogError("#\i#")
if err.number <> 0 then
call debug("<name of script>/Logerror","","","Errornumber:" _
& errornumber & " " & err.number & " " & err.description & " " _
& err.source)
LogError = True
err.clear
errors = errors+1
else
LogError = False
end if
end function
function Debug (pagina, lijn, varnaam, varinhoud)
if DEBUGLEVEL > 0 then
const forReading = 1, forWriting = 2, forAppending = 8, CreateFile = True
dim fs,f, var, strHostName
set fs=CreateObject("Scripting.FileSystemObject")
strHostName = fs.GetFileName(WScript.FullName)
if fs.FileExists(LOGFILE) then
set f=fs.OpenTextFile(LOGFILE, forAppending)
else
set f=fs.OpenTextFile(LOGFILE, forWriting,true)
end if
var = now & " " & pagina & ":" & lijn & ":" & varnaam & ":" & varinhoud
f.WriteLine var
if LCase(strHostName) = "cscript.exe" then 'debugging
if DEBUGLEVEL > 1 then
wscript.echo var
end if
end if
f.Close
set f=Nothing
set fs=Nothing
end if
debug = true
end function
이 MSDN에서 설명한대로 스크립트 디버거를 만드는 것이 포함됩니다. http://msdn.microsoft.com/en-us/library/z537xb90(v=vs.94).aspx – Jay
아마 디버깅을 사용하여 제목 오해의 소지가있다, 나는 더 많은 사람이 오류가 발생한 세부 정보를 신속하게 찾을 수있게 해주는 printf 디버깅/로깅 기능에 대해 이야기하고있다. –