1 / 16
文档名称:

内存泄露.docx

格式:docx   大小:62KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

内存泄露.docx

上传人:guoxiachuanyue 2022/6/19 文件大小:62 KB

下载得到文件列表

内存泄露.docx

文档介绍

文档介绍:请问C#编写程序时,哪些代码属于托管代码,哪些代码属于非托管代码?

调用一些COM,API的话是非托管的吧
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
在运行库组件‘ActiveX控件,API函数,指针运算,自制的资源文件…这些的非托管的,其它就是托管的.
在clr上编译运行的代码就是托管代码非CLR编译运行的代码就是非托管代码非托管代码用disposefreeusing释放大概吧
都是内存托管的,如果你要自己管理内存那就用
unsafe{}关键字标注出一块区域,你可以在这里使用指针,管理内存,这里代码不托管。
最近刚做过些跨平台调用的,对托管和非托管的问题,了解得也比较深刻
一般C#里面编写的代码的都是托管的代码,就是,对内存的管理,可以由平台本身帮你控制,而VC里面的代码则为非托管代码,它们所分配的内存空间必须由本身来释放
另外,从非托管代码,与托管的代码的转化‘Marshal类是一个不得不深入研究的类..….非常的奥妙!!!!
调试内存泄漏的应用程序发现并防止托管代码中出现内存泄漏
(-cn/magazine/)
JamesKovacs
本文讨论:
本文使用了以下技术:
.NETFramework
理解托管应用程序中的内存泄漏问

.
下载本文中所用的代码:(163KB)
浏览在线代码
目录
.NET应用程序中的内存
检测泄漏
堆栈内存泄漏
非托管堆内存泄漏
''泄漏〃托管堆内存
总结一提到托管代码中出现内存泄漏,很多开发人员的第一反应都认为这是不可能的。毕竟垃圾收集器(GC)会负责管理所有的内存,没错吧?但要知道,垃圾收集器只处理托管内存。基于Microsoft®.NETFramework的应用程序中大量使用了非托管内存,这些非托管内存既可以被公共语言运行库(CLR)使用,也可以在与非托管代码进行互操作时被程序员显式使用。在某些情况下,垃圾管理器似乎在逃避自己的职责,没有对托管内存进行有效处理。这通常是由于不易察觉的(也可能是非常明显的)编程错误妨碍了垃圾收集器的正常工作而造成的。作为经常与内存打交道的程序员,我们仍需要检查自己的应用程序,确保它们不会发生内存泄漏并能够合理有效地使用所需内存。
.NET应用程序中的内存
您大概已经知道,.NET应用程序中要使用多种类型的内存,包括:堆栈、非托管堆和托管堆。这里我们需要简单回顾一下。
堆栈堆栈用于存储应用程序执行过程中的局部变量、方法参数、返回值和其他临时值。堆栈按照每个线程进行分配,并作为每个线程完成其工作的一个暂存区。垃圾收集器并不负责清理堆栈,因为为方法调用预留的堆栈会在方法返回时被自动清理。但是请注意,垃圾收集器知道在堆栈上存储的对象的引用。当对象在一种方法中被实例化时,该对象的引用(
32位或64位整型值,取决于平台类型)将保留在堆栈中,而对象自身却存储于托管堆中,并在变量超出范围时被垃圾收集器收集。非托管堆非托管堆用于运行时数据结构、方法表、Microsoft中间语言(MSIL)、JITed代码等。非托管代码根据对象的实例化方式将其分配在非托管堆或堆栈上。托管代码可通过调用非托管的Win32®API或实例化COM对象来直接分配非托管堆内存。CLR出于自身的数据结构和代码原因广泛地使用非托管堆。
托管堆托管堆是用于分配托管对象的区域,同时也是垃圾收集器的域。CLR使用分代压缩垃圾收集器。垃圾收集器之所以称为分代式,是由于它将垃圾收集后保留下来的对象按生存时间进行划分,这样做有助于提高性能。:第0代、第1代和第2代(从年轻代到年老代)。垃圾收集器之所以称为压缩式,是因为它将对象重新定位于托管堆上,从而能够消除漏洞并保持可用内存的连续性。移动大型对象的开销很高,因此垃圾收集器将这些大型对象分配在独立的且不会压缩的大型对象堆上。有关托管堆和垃圾收集器的详细信息,请参阅JeffreyRichter所著的分为两部分的系列文章''垃圾收集器:“和''垃圾收隼器一第2部分:"。,,。
检测泄漏很多迹象能够表明应用程序正在发生内存泄漏。或许应用程

最近更新

2025年彩色多普勒超声显象仪项目策划方案报告.. 5页

2025年笨手笨脚成语解释(精选6篇) 17页

2025年端午节送给兄弟祝福语 24页

毕业答辩ppt模板 21页

2025年BIM文件管理与制图基本设置 7页

2025年2江苏省普通高校对口单招数学试卷与答案.. 10页

2025年高中英语必修三重点单词及短语 12页

2025年高中体育部分优秀教案 139页

2025年部编版二年级下册语文教学计划2 8页

2025年计算机操作系统第四版简答题大全 3页

2025年湘教版小学三年级美术上册教案 16页

2025年江苏省对口高考数学试卷 9页

2025年植物生产与环境教案全本 91页

有效教学及其实施策略 38页

2025年旅游目的地管理试题二 7页

有关倍的实际问题 16页

2025年新人教版四年级下册英语复习1—3单元教.. 7页

高三物理复习第六章静电场20带电粒子在电场中.. 28页

2025年教科版高中物理必修二1.2《运动的合成与.. 11页

魔方高级公式CFOP图片版市公开课一等奖省赛课.. 7页

信息技术居间服务合作协议3篇 54页

晨昏线的特征和判断 17页

保险业股权融资居间合同3篇 53页

保健食品解除居间合同3篇 51页

2023入团知识测试入团测试题及答案 36页

焦虑自评量表SAS完整 6页

2025年度化妆品公司各部门架构职责和各岗位说.. 207页

2023年广西初中学业水平考试生物学试题试卷结.. 8页

小学科学人教鄂教版六年级下册全册知识点整理.. 11页

城市道路工程案例分析课件 30页