我有5个计划任务,计划每天上午9:30运行。该计划基本上是一个vbs脚本,它打开一个excel工作簿并运行一个宏。如果我单独运行它们,这5个时间表可以正常运行,如果我从任务调度程序同时运行它们,它们中的9个运行正常。我这样做是通过突出显示它们然后按下运行。
但有时当任务调度程序执行其计划时,它们将失败。有时他们都失败了,有时他们中的一些失败了,但大多数时候他们都失败了。
一旦我没有错误(将在下次发生时发布)我可以在TaskManager中看到我的进程中的excel.exe它们被挂起。我在Applications中看不到它们,因为我在后台运行它们。虽然在这里我知道我可以右键单击excel.exe并执行Create Dump文件,但不知道如何处理它。
我感兴趣的是发现他们失败的原因?我该如何调试?我可以获得转储吗?我该怎么做?我确信代码并不完美,但事实上它们分开运行并且大部分时间都很好,我想知道是一些内存资源在这个时候用完了。这就是我想知道的。
我知道我可以将它们分开来运行每一分钟,这是我可能会做的事情,但我想首先回答我的问题。
注意:我问过的上一个问题可以找到有问题的vbs脚本here。
EDIT1 一些有用的链接我跟随面条回答:
WinDBG: The very basics
question re: reading dump file
EDIT2
如果我右键点击check for a solution
我可以点击View Technical Details
,这会让我:
`
描述
错误应用程序路径:C:\ Program Files(x86)\ Microsoft Office \ Office14 \ EXCEL.EXE
问题签名 问题事件名称:APPCRASH 应用程序名称:EXCEL.EXE 应用版本:14.0.7128.5000 应用程序时间戳:5398dfdc 故障模块名称:EXCEL.EXE 故障模块版本:14.0.7128.5000 故障模块时间戳:5398dfdc 例外代码:c0000005 例外抵消:0023e751 操作系统版本:6.1.7601.2.1.0.256.4 区域设置ID:5129 附加信息1:8bde 附加信息2:8bdedbea09a2027adb218b0e009eebf2 附加信息3:d4c1 附加信息4:d4c17b47443511f18e75ae920aa444bd
有关此问题的额外信息 水桶ID:361665432 `
答案 0 :(得分:1)
崩溃转储
在Windbg中加载。然后文件菜单 - 打开崩溃转储。输入!analyze
(注意错误的拼写)
<强>调试强>
您也可以从调试器开始。
windbg或ntsd(ntsd是一个控制台程序,可能已安装)。两者都来自Windows调试工具。
下载并安装适用于Windows的调试工具
http://msdn.microsoft.com/en-us/windows/hardware/hh852363
安装Windows SDK,但只需选择调试工具。
在C:\
中创建名为Symbols的文件夹启动Windbg。文件菜单 - 符号文件路径并输入
srv*C:\symbols*http://msdl.microsoft.com/download/symbols
然后
windbg -o -g -G c:\windows\system32\cmd.exe /k batfile.bat
您可以按F12停止它,kb将显示调用堆栈(g继续程序)。如果有错误,它也会停止并显示它们。
输入lm列出已加载的模块,x !列出符号,使用bp symbolname设置断点
如果在VB6中编程,则此环境变量link = / pdb:none将符号存储在dll中而不是单独的文件中。确保使用No Optimisations编译程序并勾选Create Symbolic Debug Info框。两者都在项目属性的“编译”选项卡上。
CoClassSyms(microsoft.com/msj/0399/hood/hood0399.aspx)也可以从类型库中创建符号。
您可以改为安排此命令行。
调试程序中的自动启动程序
您还可以在启动时将windbg附加到任何特定程序。请参阅gflags.exe。仅在GUI模式下。
<强>错误强>
同时获取错误编号。 TS保留了运行历史及其错误。 TS有一个历史选项卡。