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