2010-06-10 62 views

回答

3

問題是你不知道全局變量名? 或者是你想查看許多全局變量並且不想在監視窗口中一遍又一遍地輸入它們的問題? 現在我假設第二個。我還假設你的外部庫是.LIB庫而不是.DLL。

您可以編寫一個類,該類包含您想要觀察的每個全局變量的一個成員,將其作爲引用,並在啓動時構建該類的實例,並將全局變量分配給引用成員,如下所示:

class MyGlobalVariableClass 
    { 
    public: 
     MyGlobalVariableClass() 
     : m_var1(globalVariable1OfExternalLibrary) 
     , m_var2(globalVariable2OfExternalLibrary) 
     {} 
    private: 
     long &m_var1; 
     double &m_var2; 
    }; 
MyGlobalVariableClass myGlobalVariableInstance; 

現在,您只需在觀察窗口中輸入myGlobalVariableInstance,展開它,並且您將看到它的所有成員,從而看到所有全局變量。

這個技巧假定你知道全局變量的所有名字。 如果不這樣做,可以嘗試使用DUMPBIN來調查外部庫的LIB的內容,並嘗試從DUMPBIN的輸出中扣除變量名稱。

+0

這個把戲做得很好! – tiboo 2010-06-10 07:27:22

相關問題