【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

Visual Studio 2013 中的.NET 内存剖析工具

  • 2013-06-24
  • 本文字数:690 字

    阅读完需:约 2 分钟

认为.NET 开发者不需要担心内存管理问题,这是一个常见的误解。尽管内存的处理的确是更简单了,但是开发者仍然会陷入困境。

在使用.NET 编程时,有三个最常见的错误:

  • 内存泄露,通常是委托或事件处理程序没有正确释放。
  • 内存使用非常低效,主要是持有的内存比实际需要的多。
  • 不必要的内存分配,这个问题非常微妙,可能会随着时间的推移越来越严重。

在 Andrew B Hall 所做的预览中,Visual Studio 2013 可以捕捉以产品设置运行的应用程序的状态。要实现该功能,需要 ProcDump 这个工具来创建进程的内存快照。这些转储信息可以加载到 Visual Studio 中进行分析。

和其他内存剖析工具类似,Visual Studio 2013 会列出每种类型所分配的实例数,以及从根到这些对象的路径。(“根”对象是可以通过静态字段或局部变量访问的对象,不能被垃圾收集器清理。)

确定内存泄露的根源仍然需要开发者完成,因此 Visual Studio 还比不上市面上的其他产品。利用正确的过滤器, Red Gate 的 ANTS Memory Profiler 可以标记表现出常见错误(比如前面提到的事件处理程序导致的内存泄露)的对象。 SciTech 的.NET Memory Profiler 甚至做得更好,它会给出一份总结信息,对该工具所看到的内存问题予以警告。

SciTech 提供的信息也比 Visual Studio 2013 和 Red Gate 要详尽。它不但能指出从根到所观察对象的路径,还能显示最初创建该对象的语句的调用路径。对象上的所有字段也都可以得到。

Visual Studio 2013 中的内存剖析工具只是个预览版本,更多特性可能会在以后发布。但是从目前情况来看,在.NET 内存剖析方面,微软只能排第三,而且远远落后于前面两家。

查看英文原文:.NET Memory Profiling in Visual Studio 2013

2013-06-24 07:022061
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 129.2 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

MobTech 秒验|防控羊毛党

MobTech袤博科技

互联网工程师1480道Java面试题及答案整理( 2023年 整理版)

Java你猿哥

Java 面试 面经 春招 Java八股文

Alibaba官方上线!Java并发编程全彩图册(终极版)GitHub已置顶

做梦都在改BUG

Java 并发编程 多线程 高并发

IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践

JackJiang

即时通讯 即时通讯IM

最全金融数据安全政策汇编,你应该需要它!( 附下载 )

极盾科技

数据安全

MobTech MobLink|场景分享的原理

MobTech袤博科技

解密COUNT(*)与COUNT(1):SQL查询你选哪个更高效?

Java你猿哥

Java sql 后端 ssm Java工程师

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

鳄鱼视界

在GitHub首页3分钟被下架!爱奇艺《高并发网关设计》笔记被盗?

做梦都在改BUG

Java 负载均衡 高并发 网关设计

mac电脑能恢复安卓手机丢失的数据吗?

Rose

mac电脑 安卓数据恢复

GitHub上架即巅峰!《Spring Cloud微服务架构实战》标星已超30k

做梦都在改BUG

Java 架构 微服务 Spring Cloud

连接 AI,NebulaGraph Python ORM 项目 Carina 简化 Web 开发

NebulaGraph

Python ORM 图数据库

Linux 的 TCP 连接数量最大不能超过 65535?

Java你猿哥

Java Linux 后端 ssm

警惕看不见的重试机制:为什么使用RPC必须考虑幂等性

做梦都在改BUG

灵魂拷问:你写的SQL一般有几个JOIN ?​

Java你猿哥

Java sql 后端 ssm join

专业的RAW图片处理:DxO PhotoLab 6 中文直装版

真大的脸盆

Mac Mac 软件 raw raw图片处理软件 Raw图像处理软件

一文告诉你如何一键复现“TSBS 时序数据库性能基准测试报告”测试结果

TDengine

tdengine 性能测试 时序数据库

扫盲篇:Java中为啥一个 main 方法就能启动项目?

Java你猿哥

Java JVM ssm Java工程师

官方文档 | 【JVM调优体系】「GC底层调优实战」XPocket为终结性能问题而生—开发指南

洛神灬殇

Java JVM 3月日更 XPocket 技术 优化体系

基础篇丨链路追踪(Tracing)其实很简单

阿里巴巴云原生

阿里云 云原生 Tracing

龙蜥白皮书精选:面向异构计算的加速器 SDK

OpenAnolis小助手

开源 sdk 异构计算 加速器 龙蜥白皮书

如何使用责任链默认优雅地进行参数校验?

做梦都在改BUG

开源即巅峰!《Java程序性能优化实战》GitHub三小时标星已超34k

做梦都在改BUG

Java 性能优化 性能调优

夜莺n9e监控配置支持电话短信报警

外滩运维专家

夜莺监控 电话报警 短信报警 夜莺监控电话

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

威廉META

面试必问:JVM 如何确定死亡对象?

做梦都在改BUG

Java 面试 JVM

Github上获赞59.8K的面试神技—1658页《Java面试突击核心讲》

Java你猿哥

Java 架构 面试 面经 春招

云原生容器高可用运维能力应用

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

阿里P7架构师的独家分享——SpringCloud 微服务实战笔记

Java你猿哥

Java 架构 微服务 Spring Boot 面经

DaVinci Resolve Studio 18(达芬奇调色剪辑)中文版

Rose

达芬奇18破解版

一看就懂,一学就会的Raft解析

爱德华

raft PAXOS 共识算法 深入理解分布式共识算法

Visual Studio 2013中的.NET内存剖析工具_语言 & 开发_Jonathan Allen_InfoQ精选文章