Если речь про что-то вроде stm32, то там можно от обратного пойти. Точнее из самого hf посмотреть почему туда попали. Если это допустим чтение из nullptr, то можно прям адрес инструкции увидеть и сразу это место в коде. А если в hf попали из-за переферии, скажем у dma адрес не выровнен был или случилось прерывание без указанного вектора, то по флагам можно понять причину. В таком случае по коду можно долго шагать :)