软件问题分析报告.doc

软件问题分析报告.doc

ID:50897063

大小:168.00 KB

页数:6页

时间:2020-03-15

软件问题分析报告.doc_第1页
软件问题分析报告.doc_第2页
软件问题分析报告.doc_第3页
软件问题分析报告.doc_第4页
软件问题分析报告.doc_第5页
资源描述:

《软件问题分析报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.问题分析报告修改时间修改人修改内容版本备注2017年1月17日赵建新建V0.1草稿问题一2017年1月19日赵建增加增加问题二、问题三6精选WORD文档交流!.问题一:总台业务软件启动时出现kernelBase.dll错误问题1、抓图2、测试条件、方法及结果1)测试一(win10企业环境测试)条件:取消软件兼容模式方法:经过多次运行关闭程序结果:4次中就会出现一次该问题2)测试二(win10企业环境测试)条件:启动软件兼容模式方法:经过多次运行关闭程序结果:运行十几次也不见得会出现一次该问题3)测试三(win10企业环境测试)条件:关闭软件兼容模式且源码的工程文

2、件中注释掉剪贴板代码方法:经过多次运行关闭程序结果:没有发现一次该问题。另外发现软件的启动前不用等待操作系统兼容某个操作系统所浪费的时间。4)测试四(WINDOWServer2008R2企业版)6精选WORD文档交流!.条件:关闭兼容模式方法:多次运行结果:一切正常5)测试五(WINDOWServer2008R2企业版)条件:打开兼容模式(win95,win98)方法:运行一次结果:每运行一次都会提示没有版本信息等提示。6)测试六(WINDOWServer2008R2企业版)条件:打开兼容模式(NT4.0sp5及高版本)方法:多次运行结果:正常7)测试七(WIND

3、OWServer2008R2企业版)条件:打开、关闭兼容模式方法:同时打开软件两次结果:不管是打开或是关闭模式,必定会引起剪贴板错误(kernelBase.dll问题)8)测试八(WIN10企业版)条件:打开、关闭兼容模式方法:同时打开软件两次结果:不管是打开或是关闭模式,必定会引起剪贴板错误(kernelBase.dll问题)3、问题根源1)问题出现在工程文件中使用的剪贴板功能处2)兼容性变化的原因1>文件兼容性的存储方式是以文字名为唯一的,所以在该文件改名后兼容性就会被重置为取消状态。2>生成是设置为了兼容模式,发给客户就没有兼容属性,是因为客户电脑上从未设置

4、过该属性,而文件被COPY过来后会重置,默认为取消兼容模式。6精选WORD文档交流!.3)不管是否开启兼容模式,只要在很短的时间打开两次程序,则会报剪贴板错误继而引起kernelBase.dll问题。4、解决方法1)在实施工程师将程序给客户或部署到主机上时,明文规定必须将程序设置为兼容模式或告诉客户启动兼容模式。2)可以去掉工程中的剪贴板功能,这样可以同时启动两个程序进程。3)在工程文件中引用互斥变量,同一时间只能有开一个程序进程运行。5、建议1)由于未经过大量的非兼容测试,担心其它功能受到影响,所以建议使用第一种解决方法(启动兼容模式)2)源码调试时该问题是易出

5、现的,建议开发工程师在编译生成后取消掉兼容模式,在此模式下编译生成后用生成后的执行程序调试。3)源码调试时去掉被忽略的EXCEPTION选项,这样才可以尽可能多的抓到异常问题。建议采用第3个解决办法:在工程文件中引用互斥变量,同一时间只能有开一个程序进程运行。问题二:StandardDaemon200.dll动态库有内存溢出的问题(已与李明彩沟通,待其解决)1、抓图6精选WORD文档交流!.2、问题分析原来的代码会多次调用StandardDaemon_Init,但没有StandardDaemon_CleanUp释放掉全局变量aqPeis,所以会产生内存泄露。3、问

6、题根源在总台业务程序中GetFunctionValFromHerSetting函数每次调用都会执行StandardDaemon_Ini调用,但没有调用StandardDaemon_CleanUp释放。4、解决方法方法1:全局变量aqPeis在创建前,可以先用freeandnil先释放。方法2:在每次调用StandardDaemon_Init时,最后一定要用StandardDaemon_CleanUp释放。5、建议两种方法都可以根除。问题三:用户登录时多次执行select*fromHerPermission1、抓图2、问题分析在ReadInPermsOfUser过程

7、中会多次调用AddFatherIdsOf这个功能,AddFatherIdsOf功能会调用RefreshDataset(dataset);来重新查表。3、问题根源RefreshDataset(dataset)是刷新记录集的功能,也是重新打开表的功能,所以调用多少次RefreshDataset就会查询多少次表,这个参数根据ListBoxPerms.Items.Count来决定查多少次表。4、解决方法建立全局表,只第一次加载,后续查缓存中的记录表。5、建议6精选WORD文档交流!.多次查表会严重影响程序执行效率,建议使用上面的解决方法解决。问题四赵建2017年1月17日

8、【下载本文

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。