如何在测试合作伙伴中处理挂起的应用程序

时间:2015-04-15 07:09:13

标签: vbscript microfocus

我是Microsoft TestPartner自动化工具的新手,当我运行我的Windows应用程序的脚本时,应用程序挂起一段时间后,有没有办法在测试合作伙伴中处理这种情况

1 个答案:

答案 0 :(得分:0)

我不知道你在问什么。但是windbg试图分析挂起。

!分析 !analyze扩展显示有关当前异常或错误检查的信息。

用户模式

!analyze [-v] [-f | -hang] [-D BucketID] 
!analyze -c [-load KnownIssuesFile | -unload | -help ]

内核模式

!analyze [-v] [-f | -hang] [-D BucketID] 
!analyze -c [-load KnownIssuesFile | -unload | -help ]
!analyze -show BugCheckCode [BugParameters]

参数

-v 

显示详细输出。

-f 

生成!analyze异常输出。即使调试器未检测到异常,也可以使用此参数查看异常分析。

-hang 

生成!分析挂起的应用程序输出。当目标遇到错误检查或异常时使用此参数,但分析应用程序挂起的原因与您的问题更相关。在内核模式下,!analyze -hang调查系统保存的锁,然后扫描DPC队列链。在用户模式下,!analyze -hang分析线程堆栈以确定是否有任何线程阻塞其他线程。

在用户模式下运行此扩展之前,请考虑将当前线程更改为您认为已停止响应(即挂起)的线程,因为该异常可能已将当前线程更改为其他线程。

您也可以从调试器开始。

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)也可以从类型库中创建符号。