任务计划程序+间歇性失败+如何调试或获取转储+ Windows 7

时间:2014-09-23 02:59:11

标签: excel vba excel-vba vbscript

我有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,这会让我: This picture ` 描述 错误应用程序路径: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 `

EDIT3:A useful walkthough example with commands

1 个答案:

答案 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有一个历史选项卡。