2010-06-10 17 views

Respuesta

3

¿El problema es que no conoce los nombres de las variables globales? ¿O es el problema que desea ver muchas variables globales y no desea escribirlas una y otra vez en la ventana del reloj? Por el momento, asumo el segundo. También asumo que su biblioteca externa es una biblioteca .LIB y no una .DLL.

Puede escribir una clase que contenga un miembro para cada variable global que desee ver, convertirla en una referencia y construir una instancia de la clase al inicio, asignando las variables globales a los miembros de referencia, como esta:

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

Ahora puede simplemente ingresar myGlobalVariableInstance en la ventana del reloj, expandirlo, y verá todos sus miembros, y por lo tanto todas las variables globales.

Este truco supone que usted conoce todos los nombres de las variables globales. Si no lo hace, podría intentar usar DUMPBIN para investigar los contenidos de la LIB de la biblioteca externa, e intentar deducir los nombres de las variables de la salida de DUMPBIN.

+0

este truco lo hizo bien! – tiboo

Cuestiones relacionadas