可以看到第一块 size= 0x1000040 byte = 16M 的内存是 HalconDotNet 分配的,接下来我们多抽几个,或者用脚本来归纳一下 , 发现有大量的 88M 内存占用,大体上归为两类:
- C# 代码分配未释放:
文章插图
- 内部代码:
文章插图
最后就是把这个结果给了朋友,让朋友看下用 !ip2md 显示出来的托管方法,为什么没有释放,是不是漏了 。
三: 总结这个dump可以看出是因为对 halcon 做了一套 DotNet 版的封装上出现了一些瑕疵,这个 dump 的难点在于当 !heap 扩展命令失效的情况下 , 如何通过纯手工的方式把 NTHeap 剥离的明明白白 。
【记一次 .NET 某工控视觉软件 非托管泄漏分析】
推荐阅读
- Bing 广告平台迁移到 .net6
- 微信怎么删除好友,微信好友怎么快速删除(微信怎么一次性删除所有的好友)
- control 掌控 方法记录
- n维偏序 方法记录
- SpringBoot实战派读书笔记---响应式编程
- .NET 6 跨服务器联表查询
- 小米平板5pro可以插卡吗_小米平板5pro可以打电话吗
- 不安装运行时运行 .NET 程序 - NativeAOT
- ARC148游记
- 桃源记铜币怎么获取