3 / 3 / 1
Регистрация: 12.07.2013
Сообщений: 123

Отладчик выбрасывает исключение

06.10.2025, 09:53. Показов 676. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я пишу программу на C++ в среде разработки Visual Studio 2012.

В моей программе на диалоговом окне размещены в одном месте две таблицы (CListCtrl) -- m_IDC_LIST1 и m_IDC_LIST3.
В результате программных вычислений вставляются строки в таблицы m_IDC_LIST1 и m_IDC_LIST3.
Переключение между таблицами на диалоговом окне между этими двумя таблицами осуществляется путём нажатия кнопок ">>" и "<<".
Код обработки нажатия этих кнопок следующий:

1) кнопка ">>" :

C++
1
2
m_IDC_LIST1.ShowWindow(SW_HIDE);
m_IDC_LIST3.ShowWindow(SW_SHOW);
2) кнопка "<<" :

C++
1
2
m_IDC_LIST3.ShowWindow(SW_HIDE);
m_IDC_LIST1.ShowWindow(SW_SHOW);
Первоначально отображается таблица m_IDC_LIST1 (SW_SHOW), а таблица m_IDC_LIST3 не отображается (SW_HIDE).
После нажатия на кнопку "Расчёт" данные таблице m_IDC_LIST1 правильно отображаются, а при нажатии после этого на кнопку ">>" для отображения таблицы m_IDC_LIST3 в отладчике выскакивает исключение:

Необработанное исключение по адресу 0x3CBEC861 в BNOISZ.exe: 0xC000041D:
Во время обратного вызова пользователя обнаружено необработанное исключение.

При этом отображается файл wincore.cpp и функция в нём CWnd:efWIndowProc :

C++
1
2
3
4
5
6
7
8
9
10
LRESULT  CWnd::DefWindowProc(UINT nMsg, WPARAM wParam, LPARAM lParam)
{
    if (m_pfnSuper!=NULL)
        return ::CallWindowProc(m_pfnSuper, m_hWnd, nMsg, wParam, lParam);
    WNDPROC  pfnWndProc;
    if ((pfnWndProc =* GetSuperWndProcAddr())==NULL)
        return  ::DefWindowProc(m_hWnd, nMsg, wParam, lParam);
    else
        return  ::CallWindowProc(pfnWndProc, m_hWnd, nMsg, wParam, lParam);
}
При этом курсор в файле wincore.cpp останавливается на строке

C++
1
return  ::CallWindowProc(m_pfnSuper, m_hWnd, nMSg, wParam, lParam);
В чём причина этого? Как исправить эту ошибку?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.10.2025, 09:53
Ответы с готовыми решениями:

Выбрасывает исключение при сортировке
не могу понять из-за чего выбрасывает исключение при сортировке const T&amp; GetData(int index) const...

Выбрасывает при выполнении
Пытаюсь написать хеадер для работы с большими числами, через разбиение на ряд чисел. При...

Функция:выбрасывает из списка одинаковые элементы.
Создать список на языке С++,который разрешает создать односторонний связанный список(используя...

3
19483 / 10091 / 2457
Регистрация: 30.01.2014
Сообщений: 17,796
09.10.2025, 10:30
Цитата Сообщение от erslgoeirjh Посмотреть сообщение
C++
1
if ((pfnWndProc =* GetSuperWndProcAddr())==NULL)
Я бы вот это переписал так:
C++
1
2
3
4
if (WNDPROC pfnWndProc = GetSuperWndProcAddr())
    return  ::CallWindowProc(pfnWndProc, m_hWnd, nMsg, wParam, lParam);
else
    return  ::DefWindowProc(m_hWnd, nMsg, wParam, lParam);
Добавлено через 4 минуты
Хотя, я смотрю - это библиотечный класс с таким кривым кодом.
Ладно, сделаем предположение, что он каким-то образом должен работать. Ну тогда получается, что в вашем посте не хватает контекста. Если упало в библиотечном коде, значит контекст ошибки скорее всего где-то в вашем коде, который вы не показываете.
0
3 / 3 / 1
Регистрация: 12.07.2013
Сообщений: 123
09.10.2025, 16:28  [ТС]
Проблема решена. Просто перед выводом строк в m_IDC_LIST3 были математические вычисления, в который был выход за пределы массива. Я увеличил размерность массива и всё теперь нормально работает.
0
19483 / 10091 / 2457
Регистрация: 30.01.2014
Сообщений: 17,796
09.10.2025, 18:33
Цитата Сообщение от erslgoeirjh Посмотреть сообщение
Просто перед выводом строк в m_IDC_LIST3 были математические вычисления, в который был выход за пределы массива.
О чем и была речь:
Цитата Сообщение от DrOffset Посмотреть сообщение
значит контекст ошибки скорее всего где-то в вашем коде, который вы не показываете.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2025, 18:33
Помогаю со студенческими работами здесь

Функция,выбрасывает из списка одинаковые элементы
Нужно создать функцию,которая выбрасывает из списка одинаковые элементы :) Помогите,пожалуйста:)

Функция:выбрасывает из списка одинаковые элементы.
Нужно написать функцию,которая выбрасывает из списка одинаковые элементы.Помогите)

Функция rand() в обоих случаях выбрасывает одинаковые числа
Почему в итоге всегда функция rand() в обоих случаях выбрасывает одинаковые числа, а выбрасывать...

При использовании статической библиотеки выбрасывает неизвестную ошибку
Код ошибки 0x800700c1. Гугл говорит, что может быть виноват Boost, но он тут даже не...

Ifstream выбрасывает во внешний файл
Добрый день! Пишу программу, которая читает и записывает данные в файле, с записью и объектом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru