Отладка серьезных неисправностей общеизвестно сложна.Скорее всего, вы ввели обработчик жесткого сбоя, потому что произошло исключение, для которого обработчик недоступен, хотя это может быть связано с тем, что обработчик сам сгенерировал исключение.
Как сказал Лундин в комментарии, если у вас есть достойный отладчик, вы можете поместить точку останова в обработчик жестких ошибок, и отладчик покажет вам полный стек вызовов.Но если нет, вам придется сделать это трудным путем.
Когда ЦП входит в режим обработчика для обслуживания исключения, различные регистры помещаются в активный стек аппаратным обеспечением и обработчиком, с которым вы работаете.реализовано извлекает их из стека для проверки.Первое, на что нужно обратить внимание - это содержимое счетчика с накоплением программ (ПК).Попробуйте получить его значение в шестнадцатеричном формате;После этого вы сможете связать это с адресом инструкции, которая вызвала ошибку, с помощью отладчика.
Если адрес компьютера в стеке не соответствует разумному адресу кода, то возможно, что другойСтрока кода попыталась перейти на этот бессмысленный адрес, и это вызвало ошибку.В этом случае вы можете получить некоторую информацию, посмотрев на адрес регистра стековых ссылок (LR) - он должен содержать значение счетчика программы с того момента, когда ЦПУ столкнулся с инструкцией вызова.Это может не точно соответствовать линии, которая сгенерировала мошенническую ветвь, но она должна подвести вас достаточно близко, чтобы разместить другую точку останова и проходить до тех пор, пока не произойдет исключение.
Я с удовольствием отредактирую этот ответ с дополнительными предложениями, еслиэто не поможет вам найти виновного - просто оставьте комментарий, и я вернусь к вам.