Как я могу перечислить и просмотреть все глобальные переменные в окнах просмотра Visual Studio (для C ++)? - PullRequest
8 голосов
/ 10 июня 2010

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

1 Ответ

3 голосов
/ 10 июня 2010

Проблема в том, что вы не знаете имен глобальных переменных? Или проблема в том, что вы хотите посмотреть на многие глобальные переменные и не хотите вводить их снова и снова в окне просмотра? На данный момент я предполагаю второе. Я также предполагаю, что ваша внешняя библиотека - это библиотека .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.

...