При отладке проекта неуправляемого С++ в Visual Studio 2008 я иногда хочу видеть значение глобальной переменной. У нас нет большого количества из них, но тех, которые там все объявляются в пространстве имен, названном 'глобальным'. например.
namespace global
{
int foo;
bool bar;
...
}
Проблема состоит в том, что, когда код останавливается в точке останова, подсказка отладки значения по умолчанию (от указания на имя переменной) и quickwatch (shift-f9 на имени переменной) не принимает пространство имен во внимание и следовательно не будет работать.
Так, например, я могу указать на 'нечто', и ничто не подходит. Если я shift-f9 на нечто, это поднимет quickwatch, который затем говорит 'CXX0017: Ошибка: символ "нечто", не найденное'. Я могу обойти это путем ручного редактирования имени переменной в quickwatch окне для добавления префикса его "глобальный::" (который является громоздким рассмотрением Вас, должны сделать это каждый раз, когда Вы хотите к quickwatch), но нет никаких, фиксируют для подсказки, которую я могу разработать. Установка 'пространства имен по умолчанию' свойств проекта не помогает.
Как я могу сказать отладчику VS использовать пространство имен, что это уже знает, что переменная объявляется в (так как это имеет объявление тут же), или, альтернативно, скажите этому пространство имен по умолчанию для поиска переменных в том, если это не находит их?
Моему google-fu не удалось найти ответ. Этот отчет перечисляет ту же проблему с MS, говоря, что это "дизайном", но несмотря на это я надеюсь, что существует некоторый способ работать вокруг этого (возможно, с умным использованием autoexp.dat?)