我们先来看看QTP中这个实用的GetTextLocation方法,他一般用于返回元素的坐标位置,往往用在当对象无法抓取的时候,进行一些拖拽操作,但是今天部门同事 @杨奎 告诉我,他在最近写一个IPC字幕长拷脚本的时候出现了严重的蓝屏现象,而且只要运行到GetTextLocation方法,蓝屏现象是必现的,这是为什么呢?
当出现蓝屏的时候,我们一般会选择把蓝屏代码记下来,但是很显然,这一次是由于软件导致的,光在百度和谷歌查询蓝屏代码不是办法。
很显然,我现在需要把这一个蓝屏现象复现出来,很多软件导致的蓝屏问题都跟sys驱动文件有关,或者是sys文件缺失,或者是损坏,或者是中毒,那么这一次又是什么?
在这里做一个简单的解决过程记录,以此共勉
一,复现蓝屏步骤
二,使用win debug tool工具分析dmp文件
Debugging tools for windows 是微软的一款dmp文件分析工具
往往需要附带下载一个符号文件包(symbol packages)
这两款工具都能通过百度,谷歌下载
这一次,我们先不加载symbol库,直接打开dmp文件看一下问题
三,dmp文件一般看最后的有用信息
最终,我们轻松拿到一条重要的线索,原来是pal_drv.sys文件导致的蓝屏,顺着这个思路,我们再去找百度和谷歌,我们可能就会发现重要信息
果然,我们通过这种方式再去寻求解决方案,就准确多了,在这个CSDN的博客上,我们发现了答案:
原来是知名qtp博客QTPLearn,我们可以看到,确实是这个sys文件导致的蓝屏:
所以,我们按照上图的做法,利用nt_tr.exe工具直接将Text识别功能卸载掉。
蓝屏问题就解决了。