Как я могу перечислить и просмотреть все глобальные переменные в окнах просмотра visual studio (для c++)?

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

1 ответов


проблема в том, что вы не знаете имена глобальных переменных? Или проблема, что вы хотите посмотреть на многие глобальные переменные и не хотите вводить их снова и снова в окно смотреть? На данный момент я предполагаю второе. Я также предполагаю, что ваш внешний библиотеку .Библиотека LIB, а не a .файл DLL.

вы можете написать класс, содержащий один член для каждой глобальной переменной, которую вы хотите посмотреть, сделать ее ссылкой и создать экземпляр класса в запуск, назначение глобальных переменных ссылочным членам, например:

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

теперь вы можете просто ввести myGlobalVariableInstance в окне watch, развернуть его, и вы увидите все его члены, и, таким образом, все глобальные переменные.

этот трюк предполагает, что вы знаете все имена глобальных переменных. Если вы этого не сделаете, вы можете попробовать использовать DUMPBIN для изучения содержимого LIB внешней библиотеки и попытаться вычесть имена переменных из выход DUMPBIN.