NikP 0 20 июля, 2018 Опубликовано 20 июля, 2018 · Жалоба У меня происходят сбои в работающей плате, надо найти место в программе, где происходит сбой. Однако если я подключаю отладчик "на лету" (без сброса), то в окне UVision не понятно, в каком месте кода работает программа. Если подключать с загрузкой прошивки, то видно, где отрабатывается код, но сбой пропадает (он возникает нерегулярно). Как правильно подключиться отладчиком на лету , чтоб можно было просматривать текущий выполняемый код? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 20 июля, 2018 Опубликовано 20 июля, 2018 · Жалоба Наверно никак. Делайте логгирование через доступные интерфейсы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 32 20 июля, 2018 Опубликовано 20 июля, 2018 · Жалоба https://www.segger.com/products/development...-link-debugger/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 20 июля, 2018 Опубликовано 20 июля, 2018 · Жалоба Однако если я подключаю отладчик "на лету" (без сброса), то в окне UVision не понятно, в каком месте кода работает программа. Если подключать с загрузкой прошивки, то видно, где отрабатывается код, но сбой пропадает (он возникает нерегулярно). Как правильно подключиться отладчиком на лету , чтоб можно было просматривать текущий выполняемый код? Могу предположить, что подключаете отладчик без загрузки кода. Вместе с загрузкой кода в МК происходит загрузка отладочной информации в отладчик. Без отладочной информации нет привязки к исходнику, строкам кода, переменным. У себя подключаю файл инициализации отладчика, в нём пишу "load foobar.elf incremental nocode". Подключаюсь к работающему МК, программа останавливается, показана строка, на которой остановилось, видны переменные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться