dev*_*ull 7 malloc macos mach-o dyld
我想用调试目的编写自己的malloc/free函数,文档说我必须使用DYLD_FORCE_FLAT_NAMESPACE和DYLD_INSERT_LIBRARIES.但与此同时,libgmalloc文章明确指出:
libgmalloc is available in /usr/lib/libgmalloc.dylib. To use it, set this environment variable:
set DYLD_INSERT_LIBRARIES to /usr/lib/libgmalloc.dylib
Note: it is no longer necessary to set DYLD_FORCE_FLAT_NAMESPACE.
Run Code Online (Sandbox Code Playgroud)
问题是:如何在DYLD_FORCE_FLAT_NAMESPACE中删除必要性?如果我不强制命名空间平整度,则不使用我自己的库中的malloc.
你需要使用dyld插入.这包括__interpose
在__DATA
动态库的段中生成包含替换/替换函数地址对的特殊部分.来自dyld源的私有dyld-interposing.h头包含一个方便的宏来帮助解决这个问题,以及示例用法.
归档时间: |
|
查看次数: |
1084 次 |
最近记录: |