2010-06-10 1 views
7

Когда вы остановились в точке останова на main(), я могу вручную добавить имя глобальных переменных для просмотра окон, но я хочу, чтобы показать список всех глобальных переменных, потому что я использую внешнюю библиотеку, которая содержит много статических вещей. Возможно ли это? Спасибо заранее!Как я могу просмотреть и просмотреть все глобальные переменные в окнах просмотра visual studio (для C++)?

ответ

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