找回密码
 立即注册

QQ登录

只需一步,快速开始

逍遥zw

注册会员

6

主题

15

帖子

150

积分

注册会员

积分
150
逍遥zw
注册会员   /  发表于:2017-9-22 16:10  /   查看:3777  /  回复:2
1、bug重现步骤:使用MedicalViewer(Net C#版本)显示多张CT图像(DicomDir方式加载)的时候,如果我调用了MedicalViewerMultiCell的LoadRegion(rgnFilePath)从本地的Rgn文件里加载区域,然后再关闭窗口或者滑动滚轮的时候都会出现异常(引发的异常:“System.Runtime.InteropServices.SEHException”(Leadtools.MedicalViewer.dll 中))。如下图:

2、Bug分析:这个异常是说这里出现了一个非托管代码的异常,并且这个异常还没有被Net映射过来,所以这种异常我们都无法捕获处理他,只能看着程序直接崩溃。在关闭窗口的时候出现这个异常是因为调用了LoadRegion(rgnFilePath)之后,medicalViewer里相对应的cell的资源无法释放(这一点我们尚且可以通过在关闭的时候先强行移除这个cell来避免异常,而滑动滚轮切换图像时引发的异常我们则完全没有办法处理)

需要说明的是:上面的异常都是针对LoadRegion(rgnFilePath)只有一个参数的时候出现的,LoadRegion还有一个带两个参数的LoadRegion(rgnFilePath,subCellIndex)重载,使用后面的重载不会突然崩溃,但是多次滚动的时候偶尔在会在下面这个地方出现异常
cell.SetRequestedImage(image, e.RequestedFramesIndexes, MedicalViewerSetImageOptions.Insert);
如下图:

3、Bug处理建议:MedicalViewerMultiCell.LoadRegion()这个接口的内部实现肯定有诸多问题,可能是引用了其他地方的资源没有释放,可能是指针访问了空内存,希望能尽快排查处理这情况,很着急。。。
4、环境:Leadtools.MedicalViewer的版本为19.0.0.0    NetFramework4.5.2     语言:C#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

2 个回复

倒序浏览
逍遥zw
注册会员   /  发表于:2017-9-22 16:14:49
沙发
附加联系信息:QQ:945099269    邮箱:QQ邮箱
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-22 17:50:55
板凳
感谢您反馈bug,我们会在重现和确认bug以后,提交给厂商,并且向您反馈结果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部