Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 任务调度程序&x2B;间歇性故障+;如何调试或获取转储+;窗口7_Vba_Excel_Vbscript - Fatal编程技术网

Vba 任务调度程序&x2B;间歇性故障+;如何调试或获取转储+;窗口7

Vba 任务调度程序&x2B;间歇性故障+;如何调试或获取转储+;窗口7,vba,excel,vbscript,Vba,Excel,Vbscript,我有5个计划任务,计划每天早上9:30运行。该计划基本上是一个vbs脚本,用于打开excel工作簿并运行宏。如果我单独运行这5个计划,它们可以正常运行;如果我从任务计划程序中同时运行它们,10个计划中有9个可以正常运行。我通过突出显示它们,然后按run来实现这一点 但有时当任务调度器执行其计划时,它们会失败。有时他们都失败了,有时他们中的一些失败了,但大多数时候他们都成功了 一旦我确定了错误(下次出现时将发布),我可以在TaskManager中的进程中看到excel.exe,它们被挂起。我无法在

我有5个计划任务,计划每天早上9:30运行。该计划基本上是一个vbs脚本,用于打开excel工作簿并运行宏。如果我单独运行这5个计划,它们可以正常运行;如果我从任务计划程序中同时运行它们,10个计划中有9个可以正常运行。我通过突出显示它们,然后按run来实现这一点

但有时当任务调度器执行其计划时,它们会失败。有时他们都失败了,有时他们中的一些失败了,但大多数时候他们都成功了

一旦我确定了错误(下次出现时将发布),我可以在TaskManager中的进程中看到excel.exe,它们被挂起。我无法在应用程序中看到它们,因为我在后台运行它们。在这里,我知道我可以右键单击excel.exe并创建转储文件,但不确定如何处理该文件

我感兴趣的是发现他们失败的原因?如何调试它?能给我倒个垃圾吗?我如何做到这一点?我确信代码并不完美,但事实上,它们单独运行,大部分时间一起运行,都很好。我想知道的是,此时一些内存资源正在被占用。这就是我想知道的

我知道我可以让他们分秒必争,这是我可以做的,但我想先回答我上面的问题

注意:在我之前提出的问题中可以找到相关的vbs脚本

EDIT1我得到了一些有用的链接,答案如下:

EDIT2 如果我右键单击
检查解决方案
,我可以单击
查看技术详细信息
,这将为我提供: ` 描述 出现故障的应用程序路径: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:8BDEA09A2027ADB218B0E009EEBF2 补充资料3:d4c1 附加信息4:d4c17b47443511f18e75ae920aa444bd

关于这个问题的额外信息 铲斗ID:361665432 `


编辑3:

崩溃转储

在Windbg中加载。然后文件菜单-打开崩溃转储。键入
!分析
(注意拼写错误)

调试

也可以在调试器中启动

windbg或ntsd(ntsd是一个控制台程序,可能已安装)。这两个都来自Windows调试工具

下载并安装Windows调试工具

安装Windows SDK,但只需选择调试工具

在C中创建名为Symbols的文件夹:\

启动Windbg。文件菜单-符号文件路径并输入

srv*C:\symbols*http://msdl.microsoft.com/download/symbols
然后

您可以按F12停止它,kb将显示调用堆栈(g继续程序)。如果出现错误,它也会停止并显示错误

键入lm以列出加载的模块,x!列出符号和bp symbolname以设置断点

如果在VB6中编程,则此环境变量link=/pdb:none将符号存储在dll中,而不是单独的文件中。确保编译程序时没有优化,并勾选“创建符号调试信息”框。两者都位于项目属性的“编译”选项卡上

CoClassSyms(microsoft.com/msj/0399/hood/hood0399.aspx)也可以从类型库中生成符号

您可以改为计划此命令行

在调试器中自动启动程序

启动时,您还可以将windbg附加到任何特定程序。请参阅gflags.exe。仅在GUI模式下

错误

还要获取错误号。TS保存运行及其错误的历史记录。TS有一个历史记录选项卡


.tks。该sdk适用于windows 8。我拥有的windows 7是否适用?啊!我刚刚看到了,它确实看到了。我添加了这个
srv*C:\symbols*http://msdl.microsoft.com/download/symbols
。现在我在哪里做这个
windbg-o-g-g c:\windows\system32\cmd.exe/k batfile.bat
曾在cmd中尝试过,但它说
'windbg'不能被识别为内部或外部命令,不是示例中的批处理文件。安装程序应已将windbg添加到路径中。如何分析历史记录中的崩溃转储和TS错误。基本上,您这样做是为了获得错误号和来源。如果它已经在那里了??再次非常感谢你,但我可能有点不在我的部门。我已经在路径中添加了windbg。我已经完成了以下
windbg-o-g-gc:\windows\system32\cmd.exe lm
windbg-o-g-gc:\windows\system32\cmd.exe x
每个打开的
windbg
和一个包含大量
modload
的命令窗口,以及另一个
CMD
窗口。你能给我指个地方看看这个吗?
windbg -o -g -G c:\windows\system32\cmd.exe /k batfile.bat