有大牛研究过windows的下怎么hook heapalloc么?

木木1222 2014-03-31 05:52:46
我尝试了替换,但只对用户调用heapalloc有用。debug的时候发现malloc也调用了heapalloc,但调用malloc并不会执行我的回调,请问是怎么回事啊
...全文
374 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
木木1222 2014-04-02
  • 打赏
  • 举报
回复
现在的问题主要是确定是有内存泄露的,只是不知道如何定位哪里的问题。另外运行时检查的工具都是付费的,最近接触这种问题,没啥头绪。最近知道怎么hook api,有几个问题: 1,直接hook malloc free 可以,但new delete是操作符重载形式的函数指针能获取么? 2,还有就是dll 内部的调用,似乎挂钩没用,可能是操作系统有设置保护吧,没学过内核的东西,所以需要问问。
赵4老师 2014-04-02
  • 打赏
  • 举报
回复
另外检查内存泄漏的工具一抓一大把。 随便选用一个。
赵4老师 2014-04-02
  • 打赏
  • 举报
回复
检查是否资源泄漏的办法之一: 在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象 让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!
china_jeffery 2014-04-02
  • 打赏
  • 举报
回复
敏捷开发的产品为何没debug版本
木木1222 2014-04-02
  • 打赏
  • 举报
回复
我是想检查内存泄露,debug版本自带工具检查,但release版本想通过hook来检查代码的逻辑,因为最近碰到有些敏捷开发的产品不出debug版本,问题一大堆。但hook的过程发现即使是debug工程hook住了heapalloc也不会影响malloc的操作,不清楚原因!!
赵4老师 2014-04-01
  • 打赏
  • 举报
回复
VMMap 是进程虚拟和物理内存分析实用工具。http://technet.microsoft.com/zh-cn/sysinternals/dd535533 http://technet.microsoft.com/zh-cn/bb896645 Process Monitor v1.11 作者:Mark Russinovich 和 Bryce Cogswell 发布日期: 2007年04月02日 简介 Process Monitor 是一个用于 Windows 的高级监视工具,可以显示实时文件系统、注册表和进程/线程活动。它结合了两个传统 Sysinternals 实用工具(Filemon 和 Regmon) 的功能,并增加了大量增强功能,其中包括丰富且不具破坏性的筛选功能、全面的事件属性(如会话 ID 和用户名)、可靠的进程信息、完整的线程堆栈(支持每个操作的集成符号)、同一文件并行日志记录等功能。异常强大的功能使 Process Monitor 成为系统故障排除和恶意软件捕获工具包的核心实用工具。 Process Monitor 可在 Windows 2000 SP4(装有更新汇总 1)、Windows XP SP2、Windows Server 2003 SP1 和 Windows Vista 以及 64 位版本的 Windows XP、Windows Server 2003 SP1 和 Windows Vista 上运行。 返回页首 Process Monitor 优于 Filemon 和 Regmon 的增强功能 Process Monitor 的用户界面和选项类似于 Filemon 和 Regmon 的用户界面和选项,但它是全新编写的程序,并且包括许多重要的增强功能,如: 监视进程和线程的启动和退出(包括退出状态代码) 监视映像(DLL 和内核模式设备驱动程序)加载 为操作的输入和输出参数捕获更多数据 不具破坏性的筛选器可让您在不丢失数据的情况下设置筛选器 为每个操作捕获线程堆栈,可以在许多情况下找出操作的根本原因 可靠地捕获进程详细信息,其中包括映像路径、命令行、用户和会话 ID 任何事件属性的可配置、可移动列 可以为任何数据字段设置筛选器,其中包括没有配置为列的字段 高级的日志记录体系结构可以记录几千万个捕获的事件,日志数据可达几个 GB 进程树工具可以显示所有在跟踪中引用的进程之间的关系 本地日志格式保留要加载到不同 Process Monitor 实例中的所有数据 进程工具提示有助于查看进程映像信息 使用详细的工具提示可以方便地访问没有填充到列中的格式化数据 可取消的搜索 所有操作的引导时间日志记录 熟悉 Process Monitor 功能的最佳方法是阅读帮助文件,然后在真实系统中访问每个菜单项和选项。 返回页首

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧