class<class1::class2>::function
这样的二进制文件中有一个函数。我不能直接在函数上使用bp
,u
和x
之类的命令。我现在唯一的选择是x class*
,然后在输出中查找地址,然后设置断点bp <address>
。 我缺少什么吗?复制和粘贴每个调试会话的地址太麻烦了。一种选择是使用pykd,但我正在寻找一种纯粹的windbg解决方案。
#1 楼
如果添加特殊的转义序列,则支持它们。这些类windbg version
Microsoft (R) Windows Debugger Version 10.0.17744.1001 X86
lets look for some functions with angle brackets in them
0:000> x /f /v windbg!*<*<*<*
prv func 00b76da9 6d windbg!Debugger::Utils::SmartCleanup_______snipped
prv func 00b76e16 46 windbg!Debugger::Utils::SmartCleanup_______snipped
pub func 00b9bcd1 0 windbg!std::basic_string<char,std::_______snipped
snip
0:000> bp @!" windbg!Debugger::Utils::SmartCleanup_____snipped "
Bp expression '@!" windbg!Debugger::Utils::SmartCleanup<<lamb___snipped "'
could not be resolved, adding deferred bp <<<<<
0:000> bl
0 e Disable Clear u 0001 (0001) (@!" windbg!Debugger::Utils::SmartCleanup<<lambda_snipped
#2 楼
bm
可能有助于按某种模式匹配您的功能。请参阅这篇文章。