如何将委托转换为DRAM中的绝对地址?

时间:2015-11-10 12:50:29

标签: delegates d memory-address

我想将委托成员.ptr.funcptr转换为与DRAM中可执行映像中的内容匹配的绝对地址。

目标不是调用,也不是要修改,而是允许目标在运行时自动反汇编,当它自己的映像加载到DRAM中时。

到目前为止,它已经适用于全局功能。

有可能吗?

1 个答案:

答案 0 :(得分:3)

委托的地址是.funcptr属性的值。这个属性的类型有点误导 - 它的类型为function,并且列出了传递上下文实际需要的隐藏参数,但是为了获取地址,您可以忽略该类型(如果您想更改类型,请明确转换为void*size_t),然后查看地址。

这不是物理内存中的地址,您不得不向操作系统询问,但由于它提供的虚拟地址由处理器自动翻译,因此很可能是您想要的反正。