2013-03-26 65 views
2

我有一個類型A這大致是這樣的:如何在Windbg的析構函數中設置斷點?

class A { 
public: 
    A() { /*stuff*/ } 
    virtual ~A() { /*stuff* } 
}; 

我想要做的是設置在A的析構函數斷點。

我至今嘗試沒有成功:

bu myModule!A::~A() 
bu myModule!A::~A 
bu @@(myModule!A::~A()) 
bu @@(myModule!A::~A) 

這些嘗試給了我要麼Couldn't resolve error at ...Type conflict error at ...

什麼是在析構函數中設置斷點的正確語法?有沒有辦法增加Windbg在這種情況下給出的錯誤消息的冗長性?

回答

2

您需要檢查正確的符號爲您析構函數,因此使用x我們可以確定這一點:

x myModule!A::~* 

這應該輸出類似:

12345678  myModule!A::~A (void) 

或類似的東西

那麼你可以設置你的斷點:

bp 12345678 

bu myModule!A::~A (void) 

要回答你的第二個問題,如果你用標誌-v啓動的WinDbg或按CTRL + ALT + v那麼這個輸出的詳細輸出看到這linklink

相關問題