1.主要通过GetMemoryManager来hook原来的内存管理。

2.通过SetMemoryManager来设置你自己的新的内存管理,可以用一个内存池来优化和管理程序的内存调用情况。

procedure RegisterMemMgr;
var
  AMgr: TMemoryManagerEx;
begin
GetMemoryManager(OldMemMgr);
AMgr.GetMem := Hook_GetMem;
AMgr.FreeMem := Hook_FreeMem;
AMgr.ReallocMem := Hook_ReallocMem;
AMgr.AllocMem := Hook_AllocMem;
AMgr.RegisterExpectedMemoryLeak := Hook_RegisterExpectedMemoryLeak;
AMgr.UnregisterExpectedMemoryLeak := Hook_UnregisterExpectedMemoryLeak;
SetMemoryManager(AMgr);
end;

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
  • 2022-12-23
  • 2021-06-16
猜你喜欢
  • 2021-12-02
  • 2021-12-15
  • 2021-08-15
  • 2022-12-23
  • 2021-09-03
  • 2021-05-28
  • 2021-09-07
相关资源
相似解决方案