这是我的问题:
0:001> x xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator*
00000000`06645e10 xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete (void *)
00000000`06645be0 xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator new (unsigned int)
0:001> bu "xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete"
0:001> bu "xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator new"
breakpoint 0 redefined
0:001> bu xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete
Couldn't resolve error at 'xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete'
0:001> bu xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator\ delete
Couldn't resolve error at 'xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator\ delete'
首先,我尝试引用函数名称。没有骰子 - 尝试在 上设置断点operator new
会删除上的那个operator delete
。意思是,断点首先设置不正确。
未引用的尝试也不起作用。
那么,我该怎么做呢?
编辑
我想使用 bu 而不是 bp 是有原因的。断点在脚本中设置。对断点使用实际地址并不是一个好主意,因为它们可能会随着运行而改变,这与函数名称不同。此外,bu 允许在加载相应模块之前设置断点,这又与 bp 不同。
所以,让我澄清一下这个问题 - 在加载各个模块之前设置断点。