1

这是我的问题:

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 不同。

所以,让我澄清一下这个问题 - 在加载各个模块之前设置断点。

4

2 回答 2

1

如果要使用的符号名称中有空格,则需要使用大括号:

bu (blah!operator new)

请参阅链接,特别是有关使用复杂文本的断点的部分

于 2012-12-27T23:22:24.693 回答
0

另一种选择是 using bu @!"blah!operator new",它的优点是可以引用在模板方法中大量使用的字符'<''>'EdChum的答案的链接中也提到了这一点。

于 2014-12-19T04:40:52.307 回答