Windbg:如何在C ++函数的重载之一上设置断点?
时间:2020-03-06 15:01:07 来源:igfitidea点击:
我有两个c ++函数的重载,并且我想在其中之一上设置一个断点:
0:000> bu myexe!displayerror Matched: 00000000`ff3c6100 myexe!displayError (int, HRESULT, wchar_t *) Matched: 00000000`ff3c60d0 myexe!displayError (int, HRESULT) Ambiguous symbol error at 'myexe!displayerror'
哎呀,我可以在所有重载上设置断点,但是我似乎无法弄清楚如何:
0:000> bu myexe!displayerror* Matched: 00000000`ff3c6100 myexe!displayError (int, HRESULT, wchar_t *) Matched: 00000000`ff3c60d0 myexe!displayError (int, HRESULT) Ambiguous symbol error at 'myexe!displayerror*'
解决方案
尝试:
bu 0xff3c6100
如果我没记错的话,WinDbg也允许按地址设置断点。
我们是否尝试过" bm myexe!displayerror *"?
bm myexe!displayerror
这将设置所有所有重载的断点,而不是使用bc
清除不需要的重载
bc 1-3
或者只是禁用它们
bd 1-3
bm的问题在于它产生的断点有时无法评估并触发中断。有时候很烦。