Просмотр namespaced глобальные переменные в отладчике Visual Studio?

При отладке проекта неуправляемого С++ в Visual Studio 2008 я иногда хочу видеть значение глобальной переменной. У нас нет большого количества из них, но тех, которые там все объявляются в пространстве имен, названном 'глобальным'. например.

namespace global
{
  int foo;
  bool bar;

  ...
}

Проблема состоит в том, что, когда код останавливается в точке останова, подсказка отладки значения по умолчанию (от указания на имя переменной) и quickwatch (shift-f9 на имени переменной) не принимает пространство имен во внимание и следовательно не будет работать.

Так, например, я могу указать на 'нечто', и ничто не подходит. Если я shift-f9 на нечто, это поднимет quickwatch, который затем говорит 'CXX0017: Ошибка: символ "нечто", не найденное'. Я могу обойти это путем ручного редактирования имени переменной в quickwatch окне для добавления префикса его "глобальный::" (который является громоздким рассмотрением Вас, должны сделать это каждый раз, когда Вы хотите к quickwatch), но нет никаких, фиксируют для подсказки, которую я могу разработать. Установка 'пространства имен по умолчанию' свойств проекта не помогает.

Как я могу сказать отладчику VS использовать пространство имен, что это уже знает, что переменная объявляется в (так как это имеет объявление тут же), или, альтернативно, скажите этому пространство имен по умолчанию для поиска переменных в том, если это не находит их?

Моему google-fu не удалось найти ответ. Этот отчет перечисляет ту же проблему с MS, говоря, что это "дизайном", но несмотря на это я надеюсь, что существует некоторый способ работать вокруг этого (возможно, с умным использованием autoexp.dat?)

8
задан Chris 6 June 2010 в 06:19
поделиться