因内存释放而引发的中断问题,dll中new的内存释放问题
2024-08-24 00:56:52
调试程序,每次关闭一个界面就会弹出中断错误。
为了确认这个问题,我将出现问题那一段代码中的函数一个个屏蔽,以此来确认到底哪个函数出现问题,缩小范围:
最后我发现,只要屏蔽掉checkIfFingerInfoSynchronized这个函数,就不会出现这个问题。
这个函数中,用到了dll中一个函数:int getFingerInfo(P_USER_INFO* pUserFingerInfo, int * num)
其中有申请堆内存的操作
但释放内存操作是在主程序,而非dll
这是因为, dll里面申请的内存与主程序内存存放地方不一致,
所以dll里面new的内存, exe里面delete是要AV的.
先屏蔽掉该释放内存操作
就不会在AV了
但dll里new的内存该如何delete呢?
就像这篇文章说的那样,dll里再export个delete内存的函数,主程序调用即可
https://blog.csdn.net/rocklee/article/details/73478110
最新文章
- Devexpress Ribbon
- ZOJ 3209 Treasure Map (Dancing Links)
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
- python 出入任意多个参数
- Python学习总结16:时间模块datetime &; time &; calendar (三)
- 给 Android 初学者的 Gradle 知识普及
- python 编程之计算器
- HDU 2072(单词数)题解
- WPF ;GroupBox ;样式分享
- HDU2527:Safe Or Unsafe(哈弗曼树)
- hadoop 磁盘限额配置
- python制作串口工具
- MyCat全局表和ER--笔记(三)
- BinaryTree
- Actifio CDS 2TB MDisk limits
- python 列表排序方法sort、sorted技巧篇
- Don't afraid point
- ajax jquery 异步表单验证
- WPF中的动画
- ulimit限制打开的文件数量