首页 文章

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

提问于
浏览
1

我有5个计划任务,计划每天上午9:30运行 . 该计划基本上是一个vbs脚本,它打开一个excel工作簿并运行一个宏 . 如果我单独运行它们,这5个时间表可以正常运行,如果我从任务调度程序同时运行它们,它们中的9个运行正常 . 我这样做是通过突出显示它们然后按下运行 .

但有时当任务调度程序执行其计划时,它们将失败 . 有时他们都失败了,有时他们中的一些失败了,但大多数时候他们都失败了 .

一旦我没有错误(将在下次发生时发布)我可以在TaskManager中看到我的进程中的excel.exe它们被挂起 . 我在Applications中看不到它们,因为我在后台运行它们 . 虽然在这里我知道我可以右键单击excel.exe并执行Create Dump文件,但不知道如何处理它 .

What I am interested here is discovering why they are failing? How do I debug it? Can I get a dump? how do i do this? 我确信代码并不完美,但事实上它们分开运行并且大部分时间都很好,我想知道是否有一些内存资源在这个时候用完了 . 这是我想要找到的 .

我知道我可以将它们分开来运行每一分钟,这是我可能会做的事情,但我想首先回答我的问题 .

Note: 在我之前提出的问题中,可以找到有问题的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

有关此问题的更多信息Bucket ID:361665432`

编辑3:A useful walkthough example with commands

1 回答

  • 1

    Crash Dumps

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

    Debugging

    您也可以从调试器开始 .

    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符号名以设置断点

    如果在VB6中编程,则此环境变量link = / pdb:none将符号存储在dll中而不是单独的文件中 . 确保使用No Optimisations编译程序并勾选Create Symbolic Debug Info框 . 两者都在项目属性的“编译”选项卡上 .

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

    您可以安排此命令行 .

    Autostarting Programs in Debugger

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

    Errors

    还得到错误号 . TS保留了运行历史及其错误 . TS有一个历史选项卡 .

    .

相关问题