社区
C#
帖子详情
VS 自带 诊断工具的一个疑问
zmidl
2020-05-23 08:35:48
如图
当前任务是tcpClient接收大量数据显示到界面,发现内存暴增,于是诊断工具查看内存变化
在通过检查两组快照后 定位到某些占资源的对象后发现有些控件右边有“检测到循环”的标签。是什么意思啊?是不是就是这个循环造成的?
我用的是wpf + mvvm 方式绑定数据到UI 的 。如果是这个 “循环”导致的内存暴增的话 有啥解决方案呢?
希望有过相同经历的大鸟来帮个忙。。手里就这点分了全部拿出来了。
...全文
581
3
打赏
收藏
VS 自带 诊断工具的一个疑问
如图 当前任务是tcpClient接收大量数据显示到界面,发现内存暴增,于是诊断工具查看内存变化 在通过检查两组快照后 定位到某些占资源的对象后发现有些控件右边有“检测到循环”的标签。是什么意思啊?是不是就是这个循环造成的? 我用的是wpf + mvvm 方式绑定数据到UI 的 。如果是这个 “循环”导致的内存暴增的话 有啥解决方案呢? 希望有过相同经历的大鸟来帮个忙。。手里就这点分了全部拿出来了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zmidl
2020-09-03
打赏
举报
回复
感谢楼上两位进来顶贴。问题找到了。用动态函数接受数据 ,每次都是new 一个对象 没有销毁,内测暴增
正怒月神
2020-05-25
打赏
举报
回复
wpf我不怎么玩,我只是来分析一下问题。
先分析问题, 一般来说, 内存暴涨,就是开辟内存的速度,大于了回收速度。 这种问题,普遍是之前的内存被引用,占着释放不了。 在看你的检测到循环。 普遍来说,存在2个情况。 1 递归导致 这个很明显,递归会占着引用不放。
(但是你这边应该不是这个问题。)
2 两个以上的类中,有相互的实例化对象。
(我估计这个可能性比较大。)
比如 A 类中 B b=new B(); B 类中 A a=new A(); 要解决2这个问题,也比较简单。 有2个方案, 1 所有的实例化,都在各自的方法内,用到哪些类,就实例化哪些类。不要做全局的。 2 使A 或者B其中一个 继承自一个接口IA/IB 使用时,IA a=new A();
threenewbee
2020-05-24
打赏
举报
回复
存在循环引用,也就是它引用的对象又引用回来了。
[
VS
]
诊断
工具
,检测内存泄漏,进行内存调优
本文介绍如何使用
VS
自带
的
诊断
工具
进行内存调优。通过
一个
简单的内存泄漏demo演示了如何定位内存泄漏的具体位置,并提供了详细的步骤说明。
【
VS
】使用
vs
2017
自带
的
诊断
工具
(Diagnostic Tools)
诊断
程序的内存问题
本文介绍使用
VS
2017
自带
的Diagnostic Tools
诊断
程序内存问题。.NET程序虽有GC,但代码不当仍会内存泄漏。以静态变量持有应释放对象为例,介绍捕获内存快照、详细对比、查找泄漏点及查看占用内存多的数据类型的方法,还提及两个过滤选项及生产环境分析方法。
VS
2017
诊断
工具
意外失败处理方法
当在非C盘安装
VS
2017后遇到调试代码时
诊断
工具
无法启动的问题,可以通过检查VisualStudioETWEventCollectionService服务来解决。首先尝试启动该服务,如果失败,则检查服务的访问路径并确保所需文件存在。如果文件缺失,可以从提供的百度网盘链接下载并复制到相应路径,然后启动VisualStudioStandardCollectorService150服务,重启
VS
2017即可正常使用
诊断
工具
。
VS
C#/C++
诊断
工具
找回
诊断
工具
打开
诊断
工具
发现
本文汇总了
VS
-C++、
VS
-C#、bat及Keil系列编程文章链接,提供了低分源码工程下载,确保代码经过验证。特别分享了在Visual Studio中找回
诊断
工具
的步骤,帮助解决调试难题。
打开
vs
2015
诊断
工具
本文详细记录了在
VS
2015中开启
诊断
工具
进行内存泄漏检查的过程,包括遇到的问题及解决方法,适合需要进行断点调试的开发者参考。
C#
111,130
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章