我想使用名爲「TSmartPointer :: TSmartPointer」的符號在windbg中插入斷點。如何使用符號插入斷點包括「<>」(尖括號)
bp TSmartPointer<class CDataMemberMgr>::TSmartPointer<class CDataMemberMgr>
WinDbg注意到我沒有找到符號。
我用命令x
搜索符號,也沒有符號的發現:
x TSmartPointer<class CDataMemberMgr>::TSmartPointer<class CDataMemberMgr>
當我更換 「<」 和 「>」,以 「*」,WinDbg中可以找到的符號:
x TSmartPointer*class CDataMemberMgr*::TSmartPointer*class CDataMemberMgr*
我錯了嗎?我怎樣才能插入這個斷點?
感謝您的耐心等待。我閱讀了您通知的Microsoft文檔。我嘗試使用下面的命令插入斷點。 ** bu!!「MSHTML!TSmartPointer :: TSmartPointer 」**。但是WinDbg注意到我無法解決'@!「MSHTML中的錯誤!TSmartPointer :: TSmartPointer '' ^'bu @!「中的額外字符錯誤MSHTML!TSmartPointer :: TSmartPointer ''**。 –
egodcore
@egodcore:我會回頭看看 –
對於模板類,使用Windbg想要的確切間距和角度支架放置非常重要,有時在那裏會有一個很大的空間,你可以告訴它什麼應該先做一個符號查找,比如'x MSHTML!TSmartPointer * CDataMemberMgr *'。Windbg應該做一個通配符匹配並打印出一串符號名稱,然後你應該從該列表中複製並粘貼正確的名稱,使用'@!'...''引用,不要試圖自己重新輸入符號名稱,因爲空間很重要,如果你錯過了,Windbg將無法正確匹配它。 –