我们的一位客户最近遇到了很多网络问题。 当我去他们的服务器计算机上检索错误文本文件时,我发现了大约十几个文件,一个是正确命名的文件
“errors.txt”
但其他人的名字就像
“错误( computernameA v1).txt”
“错误( computernameA v2).txt”
“错误( computernameB v1).txt” 等等。
我们的软件绝对不会创建具有这些名称的文件 虽然它正在创造他们的内容。
网络中断显然会在客户端应用程序的很多地方抛出错误。处理所有错误的部分原因是将它们记录到服务器计算机。 执行此操作的例程首先尝试查找错误文件,如果无法执行此操作,则会尝试创建错误文件。其中一些错误文件包含许多错误提示 当网络在一个不显着的时间段内出现故障时,error.txt的本地“阴影”被用于连续错误?然后,一旦网络再次备份,这将被放入服务器并重命名,以免与现有文件名冲突
有人可以解释一下这里发生了什么以及软件在做什么吗?
修改
响应相关代码的请求
170 On Error Resume Next
Dim fs
180 Set fs = CreateObject("Scripting.FileSystemObject")
Dim Item1 As String
Dim Item2 As String
190 Item1 = strErrorFolder
200 If fs.FolderExists(strErrorFolder) <> True Then
210 MkDir Item1
220 End If
230 Item1 = strErrorFolder & "\Errors.txt"
240 If fs.FileExists(Item1) <> True Then
250 Item2 = App.Path & "Blank.txt"
260 FileCopy Item2, Item1
270 Item2 = ""
280 SetAttr Item1, vbNormal
290 Open Item1 For Output As #1
300 Write #1, "ErrorDateTime", "ErrorUser", "DatabaseAddress", "ProgramVersion", "Module", "SubRoutine", "LineNumber", "ErrorCode", "ErrorDescription"
310 Close #1
320 End If
330 Open Item1 For Append As #1
340 Write #1, ErrorDateTime, ErrorUser, Left(PANDATABASE, 1), ProgramVersion, Module, SubRoutine, LineNumber, ErrorCode, ErrorDescription
350 Close #1
360 On Error GoTo 0
End Sub 'errorhandled not
答案 0 :(得分:1)
答案 1 :(得分:1)
这是在黑暗中刺伤。尝试替换
Item1 = strErrorFolder & "\Errors.txt"
Item2 = App.Path & "Blank.txt"
与
Item1 = fs.BuildPath(strErrorFolder, "\Errors.txt")
Item2 = fs.BuildPath(App.Path,"Blank.txt")
另一种调试形式是为软件添加一个配置选项,允许您唯一地标识每次安装的软件。将其合并到错误文件名中。这样您就可以看到每个错误文件的来源。