使用WinDbg在堆上查找所有类型为X的C++对象

Sir*_*eat 3 windbg

我正在尝试module!SomeClass在堆中找到所有类型的对象.我认为像这样的命令会起作用:

> s -v 0 L?0xfffffff module!SomeClass
Run Code Online (Sandbox Code Playgroud)

但唉,事实并非如此.如果我知道如何找到该类的vtable地址,那么我可以搜索内存以获取对该vtable的引用,但我也没有太多运气找到它.我该怎么做?

Tal*_*Tal 9

0:000> x module!SomeClass*table*
0:000> !heap -srch 'address_of_vtable'
Run Code Online (Sandbox Code Playgroud)

  • 如果我错了,请纠正我,但这似乎只能找到从另一个类派生的类的实例。如果一个类不使用继承,那么我认为没有*表*,所以这是行不通的。正确的?知道在这种情况下该怎么办吗? (2认同)