《软件问题分析报告》由会员分享,可在线阅读,更多相关《软件问题分析报告(6页珍藏版)》请在金锄头文库上搜索。
1、问题分析报告修改时间修改人修改内容版本备注2017年1月17日赵建新建草稿问题一2017年1月19日赵建增加增加问题二、问题三问题一:总台业务软件启动时显现错误问题一、抓图事件 1000 r Application Error帛规详绷信息错误应闵程序名棵史版本:5.0.0.34 r时间戡:0x2a425e19 错诿模块镉称双畔萌氏定亚凑本:10.0.10240.15766 r时间戳Ox56&8d1c 异常代暗OxOeedfade日志名稼g曲秘;Application Error记录时间;2017-1-17 10:30:42事件IDtEJ;1W0(100)fi rtni斑iw:却字的:朋户富:计
2、算机西:USER-201 61-009NU接作代码皿更爹信息事件日志联机幕所二、测试条件、方式及结果1)测试一(win10企业环境测试)条件:取消软件兼容模式方式:通过量次运行关闭程序结果:4次中就会显现一次该问题2)测试二(win10企业环境测试)条件:启动软件兼容模式方式:通过量次运行关闭程序结果:运行十几回也不见得会显现一次该问题3)测试三(win10企业环境测试)条件:关闭软件兼容模式且源码的工程文件中注释掉剪贴板代码方式:通过量次运行关闭程序结果:没有发觉一次该问题。另外发觉软件的启动前不用等待操作系 统兼容某个操作系统所浪费的时刻。4)测试四(WINDOW Server 2020
3、R2 企业版)条件:关闭兼容模式方式:多次运行结果:一切正常5)测试五(WINDOW Server 2020 R2 企业版)条件:打开兼容模式(win95,win98)方式:运行一次结果:每运行一次都会提示没有版本信息等提示。6)测试六(WINDOW Server 2020 R2 企业版)条件:打开兼容模式(sp5及高版本)方式:多次运行结果:正常7)测试七(WINDOW Server 2020 R2 企业版)条件:打开、关闭兼容模式方式:同时打开软件两次结果:不管是打开或是关闭模式,必然会引发剪贴板错误(问题)8)测试八(WIN10企业版)条件:打开、关闭兼容模式方式:同时打开软件两次结果:
4、不管是打开或是关闭模式,必然会引发剪贴板错误(问题)3、问题本源1)问题显现在工程文件中利用的剪贴板功能处2)兼容性转变的缘故1文件兼容性的存储方式是以文字名为唯一的,因此在该文件更名后兼 容性就会被重置为取消状态。2生成是设置为了兼容模式,发给客户就没有兼容属性,是因为客户电脑上从未设置过该属性,而文件被COPY过来后会重置,默以为取消兼容模式。3)不管是不是开启兼容模式,只要在很短的时刻打开两次程序,那么会报 剪贴板错误继而引发问题。4、解决方式1)在实施工程师将程序给客户或部署到主机上时,明文规定必需将程序设 置为兼容模式或告知客户启动兼容模式。2)能够去掉工程中的剪贴板功能,如此能够同
5、时启动两个程序进程。3)在工程文件中引用互斥变量,同一时刻只能有开一个程序进程运行。五、建议1)由于未通过大量的非兼容测试,担忧其它功能受到阻碍,因此建议利用 第一种解决方式(启动兼容模式)2)源码调试时该问题是易显现的,建议开发工程师在编译生成后取消掉兼 容模式,在此模式下编译生成后用生成后的执行程序调试。3)源码调试时去掉被忽略的EXCEPTION选项,如此才能够尽可能多的抓到 异样问题。建议采纳第3个解决方法:在工程文件中引用互斥变量,同一时刻只能有开一个程序进程运行。问题二:动态库有内存溢出的问题(已与李明彩沟通,待其解决)一、抓图/撕理履务鬃/ Modified by 恚建 201-
6、1-13打需垂葬威,苫嫩差加.至茅巡_底一技-一-FreejyidNil (aqFelsi)aqEeia ?= TADOQuery.Create(ni 1IaqPeis.Connection s- ADOConnectionPeis; 月aqPeia.Tag : = -lr/75 2017-1-18帘妻.棒煎,否跳会色连多次,电再成一疏aspEis := TADDStoredProc-Create(nil);aspEeisa Connection := ADOConnectionPei3; “ m专则潟匚如13 - Tag : -1;except:E; Exception pg begin/
7、Eiw连按镭浜3 tandardDa 巳 moin_ 匚 Im anDp;ResultOK : = Falser /Application.MesaageBcuLlPCHAH ( PEIS体检.系统新据集无法建立i + #13101310 + E.Mfissage),- FCh%| 错误 E KB_OK + ME._DEFBUTTONl+M3_ICO)m?JING+MB_ICOKHAFTING) Jend;itnrij二、问题分析原先的代码会多次挪用 StandardDaemon_Init,但没有StandardDaemon_CleanUp释放掉全局变量aqPeis,因此会产生内存泄露。3、问
8、题本源在总台业务程序中GetFunctionValFromHerSetting函数每次挪用都会执行StandardDaemon_Ini 挪用,但没有挪用 StandardDaemon_CleanUp 释放。4、解决方式方式1:全局变量aqPeis在创建前,能够先用freeandnil先释放。方式2:在每次挪用StandardDaemon_Init时,最后必然要用StandardDaemon_CleanUp 释放。5、建议两种方式都能够肃除。问题三:用户登录时多次执行select * from HerPermission1、抓图/ 为笠成i3站上柜先IL射先fer 10 to- LiistBox
9、Ferni3 +1tenusCount. - 1 do7/ Mcdifi&d by 电.瑾 2017-1-17 9:1912/b permission 炭id_p-ermi 3 ssion ? - SerToIntDef (ListBcxPe iulb -1fcems i r -1);1 (id_permisaion 1) tlwacontinue j /为。邪由于戛为根#没有父予点。略过m而为-%路表示出铺 裾共、不垂要使用建史i 处理又等点LisZEoxFerms, Items i :F自rgidsal。!!) idLperndssioni”2、问题分析在ReadInPermsOfUser进程中会多次挪用 AddFatherIdsOf那个功能,AddFatherIdsOf 功能会挪用 RefreshDataset(dataset);来从头查表。3、问题本源RefreshDataset(dataset)是刷新记录集的功能,也是从头打开表的功能,因 此挪用多少次RefreshDataset就会查询多少次表,那个参数依照来决定查多少 次表。4、解决方式成立全局表,只第一次加载,后续查缓存中的记录表。5、建议多次查表会严峻阻碍程序执行效率,建议利用上面的解决方式解决。问题四赵 建2017年1月17日