В настоящее время я работаю над встроенным процессором (ARM cortex-M0) на борту. У меня возникают сбои (HardFault), поэтому я пытаюсь их отладить.
В настоящее время я могу получить дамп памяти (я отправляю все в шестнадцатеричном формате через консоль printf, мой единственный доступ к памяти).
Моя идея состоит в том, чтобы загрузить этот дамп как coredump в gdb и, таким образом, иметь возможность отлаживать программу. Как можно создать «настоящий» файл дампа памяти из необработанного дампа памяти, чтобы я мог передать его непосредственно в gdb?
Я также пытался запустить свою программу в симуляторе gdb, чтобы использовать команду restore
с моей необработанной памятью, но я не понимаю, как ее запустить. У вас есть идея?
Главный вопрос здесь на самом деле: как создать файл дампа памяти, совместимый с gdb, на основе программы elf и необработанного содержимого памяти?
printf
, чтобы во многих случаях все еще работало, особенно если оно буферизовано и управляется прерываниями. Аппаратный отладчик был бы гораздо эффективнее в этой ситуации. - person Clifford   schedule 09.11.2016