Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2017, 10:52   #1
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию Сообщение отладчика "Нет доступных исходных файлов"

Я работаю на Visual Studio 2012 под Windows 7 .

У меня на диалоге расположено несколько вкладок (компонент CTabCtrl и вкладки CPage1, CPag2, CPage3, CPage4--потомки класса CDialog), на одной из них находится кнопка "Выполнить расчёт", которой соответствует функция CPage4::OnBnClickedButton7 .
И в отладчике при нажатии на эту кнопку вместо выполнения того, что у меня написано в функции CPage4::OnBnClickedButton7 , у меня выскакивает окно отладчика "Нет доступных исходных файлов":

Цитата:
Нет доступных исходных файлов.
В текущем потоке в данный момент не выполняется код, или не удалось получить стек вызова.
Что это означает?
Может ли это быть вызвано тем, что у меня где-то "бьётся" память?

При нажатии на другие кнопки на странице CPage4 у меня таких сообщений не возникает--там всё работает нормально.
erslgoeirjh вне форума Ответить с цитированием
Старый 22.06.2017, 11:14   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы это в дебаг версии смотрели? Что в коде кнопки? Может оптимизатор сделал свое дело?
p51x на форуме Ответить с цитированием
Старый 22.06.2017, 13:02   #3
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы это в дебаг версии смотрели? Что в коде кнопки? Может оптимизатор сделал свое дело?
Да, это в дебаг-версии. В коде кнопки написано следующее:

void CPage4::OnBnClickecButton7()
{
try
{
int var=0;
}
catch (...)
{
printf("исключение\n");
}
}

Я поставил брейкпойнт (точку останова) на строке int var = 0; но всё равно у меня в отладчике выводится это окно с этой ошибкой после нажатия на кнопку--то есть даже в этот try--catch я не попадаю. В чём может быть дело?

А что такое оптимизатор и как его настроить?

P.S. На мою машину поставили антивирус Касперского--может быть, это из-за всё происходит?
erslgoeirjh вне форума Ответить с цитированием
Старый 22.06.2017, 13:13   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Все дело в том, что этого кода не будет, вообще.
1. Вар объявляется и умирает сразу, неиспользуется - нет смысла создавать
2. Исключение никто не бросает - нет смысла в try и его накладных расходах
3. итого - пустая функция, которая будет удалена вообще

Можно выкрутить оптимизатор в 0 и включить полную дебаг инфу, только зачем?..

https://ru.wikipedia.org/wiki/%D0%9E...82%D0%BE%D1%80
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пишет "Нет диска в дисководе" и "Неопознаный диск" при установке ХР - Windows XP lleonid Операционные системы общие вопросы 11 21.06.2017 19:41
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Нужно чтобы косинус угла больше 1 не считал, а выводил сообщение "Косинуса нет" C++ novichok111 Помощь студентам 0 12.06.2012 19:53
сообщение об ошибке "в устройстве нет диска вставьте диск в устройство device harddisk1 dr1" Kcu Операционные системы общие вопросы 2 05.05.2012 19:19
Нет в русском языке "ложит", есть - "кладет". mihali4 Свободное общение 25 01.04.2008 11:19