软件问题分析报告.docx

上传人:wj 文档编号:2720292 上传时间:2023-05-04 格式:DOCX 页数:6 大小:143.73KB
下载 相关 举报
软件问题分析报告.docx_第1页
第1页 / 共6页
软件问题分析报告.docx_第2页
第2页 / 共6页
软件问题分析报告.docx_第3页
第3页 / 共6页
软件问题分析报告.docx_第4页
第4页 / 共6页
软件问题分析报告.docx_第5页
第5页 / 共6页
软件问题分析报告.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件问题分析报告.docx

《软件问题分析报告.docx》由会员分享,可在线阅读,更多相关《软件问题分析报告.docx(6页珍藏版)》请在冰点文库上搜索。

软件问题分析报告.docx

问题分析报告

修改时间

修改人

修改内容

版本

备注

2017年1月17日

赵建

新建

V0.1

草稿问题一

2017年1月19日

赵建

增加

增加问题二、问题三

问题一:

总台业务软件启动时出现kernelBase.dll错误问题

1、抓图

2、测试条件、方法及结果

1)测试一(win10企业环境测试)

条件:

取消软件兼容模式

方法:

经过多次运行关闭程序

结果:

4次中就会出现一次该问题

2)测试二(win10企业环境测试)

条件:

启动软件兼容模式

方法:

经过多次运行关闭程序

结果:

运行十几次也不见得会出现一次该问题

3)测试三(win10企业环境测试)

条件:

关闭软件兼容模式且源码的工程文件中注释掉剪贴板代码

方法:

经过多次运行关闭程序

结果:

没有发现一次该问题。

另外发现软件的启动前不用等待操作系统兼容某个操作系统所浪费的时间。

4)测试四(WINDOWServer2008R2企业版)

条件:

关闭兼容模式

方法:

多次运行

结果:

一切正常

5)测试五(WINDOWServer2008R2企业版)

条件:

打开兼容模式(win95,win98)

方法:

运行一次

结果:

每运行一次都会提示没有版本信息等提示。

6)测试六(WINDOWServer2008R2企业版)

条件:

打开兼容模式(NT4.0sp5及高版本)

方法:

多次运行

结果:

正常

7)测试七(WINDOWServer2008R2企业版)

条件:

打开、关闭兼容模式

方法:

同时打开软件两次

结果:

不管是打开或是关闭模式,必定会引起剪贴板错误(kernelBase.dll问题)

8)测试八(WIN10企业版)

条件:

打开、关闭兼容模式

方法:

同时打开软件两次

结果:

不管是打开或是关闭模式,必定会引起剪贴板错误(kernelBase.dll问题)

3、问题根源

1)问题出现在工程文件中使用的剪贴板功能处

2)兼容性变化的原因

1>文件兼容性的存储方式是以文字名为唯一的,所以在该文件改名后兼容性就会被重置为取消状态。

2>生成是设置为了兼容模式,发给客户就没有兼容属性,是因为客户电脑上从未设置过该属性,而文件被COPY过来后会重置,默认为取消兼容模式。

3)不管是否开启兼容模式,只要在很短的时间打开两次程序,则会报剪贴板错误继而引起kernelBase.dll问题。

4、解决方法

1)在实施工程师将程序给客户或部署到主机上时,明文规定必须将程序设置为兼容模式或告诉客户启动兼容模式。

2)可以去掉工程中的剪贴板功能,这样可以同时启动两个程序进程。

3)在工程文件中引用互斥变量,同一时间只能有开一个程序进程运行。

5、建议

1)由于未经过大量的非兼容测试,担心其它功能受到影响,所以建议使用第一种解决方法(启动兼容模式)

2)源码调试时该问题是易出现的,建议开发工程师在编译生成后取消掉兼容模式,在此模式下编译生成后用生成后的执行程序调试。

3)源码调试时去掉被忽略的EXCEPTION选项,这样才可以尽可能多的抓到异常问题。

建议采用第3个解决办法:

在工程文件中引用互斥变量,同一时间只能有开一个程序进程运行。

问题二:

StandardDaemon200.dll动态库有内存溢出的问题(已与李明彩沟通,待其解决)

1、抓图

2、问题分析

原来的代码会多次调用StandardDaemon_Init,但没有StandardDaemon_CleanUp释放掉全局变量aqPeis,所以会产生内存泄露。

3、问题根源

在总台业务程序中GetFunctionValFromHerSetting函数每次调用都会执行StandardDaemon_Ini调用,但没有调用StandardDaemon_CleanUp释放。

4、解决方法

方法1:

全局变量aqPeis在创建前,可以先用freeandnil先释放。

方法2:

在每次调用StandardDaemon_Init时,最后一定要用

StandardDaemon_CleanUp释放。

5、建议

两种方法都可以根除。

问题三:

用户登录时多次执行select*fromHerPermission

1、抓图

2、问题分析

在ReadInPermsOfUser过程中会多次调用AddFatherIdsOf这个功能,AddFatherIdsOf功能会调用RefreshDataset(dataset);来重新查表。

3、问题根源

RefreshDataset(dataset)是刷新记录集的功能,也是重新打开表的功能,所以调用多少次RefreshDataset就会查询多少次表,这个参数根据ListBoxPerms.Items.Count来决定查多少次表。

4、解决方法

建立全局表,只第一次加载,后续查缓存中的记录表。

5、建议

多次查表会严重影响程序执行效率,建议使用上面的解决方法解决。

问题四

赵建

2017年1月17日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2