0

我想从内存地址确定对象的类型,这样我就可以在 VS Watch 窗口中应用正确的转换并查看对象。

我正在尝试在反汇编视图中进行调试,因为我自己的代码作为 DLL 加载到我没有源代码或 pdb 的现有 exe 中。

typeid 和 dynamic_cast 的存在让我希望有某种方法可以实现(可能以有限的方式)而无需任何额外的编码。

但是,如果解决方案包括修改我的代码,我很高兴,我可以访问所有类定义,尽管我不一定要更改其中一些的内存布局。

我还对对象的分配进行了覆盖,因此我有机会在这里为我自己的目的分配额外的内存,例如,在我可以放置某种名称标签的对象之前的 4 个字节。

4

1 回答 1

0

回答我自己的问题。我使用一个为跟踪分配而设计的系统解决了这个问题: http ://www.almostinfinite.com/memtrack.html 它是新的替代品,它将用分配的类型 id 标记所有分配(以及其他信息)。

于 2019-09-14T08:58:36.167 回答