1
是否有設置在Visual Studio中的條件斷點任何適當的方式2015年這樣的,它打破每當一個指向基類的點到指定的子類類型? (見下面的示例屏幕截圖)斷點有條件地打破,當指針指向一個基類指向一個特定的子類
我不想再花時間編寫調試工具的代碼對於這一點,我也不想砍虛表的數據。
是否有設置在Visual Studio中的條件斷點任何適當的方式2015年這樣的,它打破每當一個指向基類的點到指定的子類類型? (見下面的示例屏幕截圖)斷點有條件地打破,當指針指向一個基類指向一個特定的子類
我不想再花時間編寫調試工具的代碼對於這一點,我也不想砍虛表的數據。
兩種方式做到這一點:
下面加爲你的IDE斷點條件:
dynamic_cast<DerivedClassYouWantToBreak*>(ptr.get())
或者下面的代碼添加到您的代碼和編譯:
if (dynamic_cast<DerivedClassYouWantToBreak*>(ptr.get()))
{
int breaksHere = 0; // put breakpoint here
}
你剛纔說的條件斷點的測試寫什麼。 – Blindy
@Bindind太棒了!隨意編輯我的OP答案。 – Griffin
看到這需要我編寫代碼並重新編譯,然後再重新編譯,如果我想更改派生類的類型。 現在,我使用斷點條件是一樣的東西* (無效**)ptr.get()!= <指向我想要的子類的虛函數表> 但是,這是非常哈克和指針可能會有改變下一次運行 – bigD