[VS05 C#] Не создаются локальные переменные во время отладки
переключиться с release обьратно в debug?
переключиться с release обьратно в debug?я спецом в посте написал, что проблема именно в дебаг-моде
может ты просто выходишь за область видимости?
если создать с нуля новый проект - то проблема есть или нет?
правда мне важен тот проект
сделал в "проблемном проекте" функцию заглушку, в которой единственное, что делается - создается переменная и ей присваивается значение.. брейкпоинт на присваивание не ставится (точнее ставится до запуска, а после - сразу же сносится в конец функции)
project -> Properties -> Build -> General -> Optimize code
Вообще было так: сначала этой галки не было (на оптимизации но описанная в самом начале проблемы была, затем, когда перебирая все настройки, я поставил галочку, то часть переменных стала видна (например не были видны ArrayList'ы, но при выставлении галочки стали видны).
Там еще нюанс в том, что, например, во многих методах все переменные нормально видны, а проблемы возникают (по крайней мере там я это заметил) в одном из методов причем в одном из его if-ов внутри операторных скобок (если убрать if и операторные скобки, то все эти переменные нормально видны в дебаг-моде как такое может быть - не представляю.
Давай этот код, строку и переменную, которую не видно
*.suo
*.user
директорию bin
директорию obj
private void Button_Click(object sender, EventArgs e)
{
if (Условие)
{
текст
}
if (Условие)
{
текст
}
if (Условие)
{
}
if (Условие)
{
текст
}
if (Условие)
{
текст
}
if (Условие)
{
текст
}
if (Условие)
{
}
if (Условие)
{
текст
}
if (Условие)
{
текст
}
if (false) --- это мне было нужно для заглушки на некоторое время
{
текст
}
if (Условие)
{
текст
}
if (УсловиеX)
{
double tt1;
tt1 = 0; ]эту переменную не было видно в дебаггере
}
if (Условие)
{
текст
}
}
Так вот.. все If-ы, которые были описаны за if(false) имели описанную мной проблему, те, что были описаны до if(false) - все ОК.
Закомменчивание этого условия или переписывания в виде double x = 0; if (x==1) делают все нормально.
Это такая фишка VS?
Оставить комментарий
stm8887429
Проблема возникла внезапно. Хз, вроде ничего не делал (по крайней мере специально).Во время отладки (Debug mode) невозможно в Watches посмотреть локальные переменные, так как судя по всему компилятор "оптимизирует" код, даже не создавая их (в Watches пишет "The name 'xxx does not exist in the current context" а без возможности контроллировать эти переменные получается нереально отладить прогу.
Искал в настройках, где можно отменить такие "оптимизации", но не нашел
Подскажите плз, как исправить ситуацию.