В чем разница между отладкой и трассировкой на SoC на основе ARM?
В ARM DS-5 IDE рассказывается об отдельных функциях отладки и трассировки. Я разработчик приложений, который не привык к этой терминологии для устройств ARM.
Может кто-нибудь объяснить, в чем заключается основное различие между трассировкой и отладкой SoC на основе ARM и когда вы будете использовать каждый из них?
1 ответ
В архитектуре ARM (также в целом) отладка делится на 2 режима.
- Инвазивная отладка
- Неинвазивная отладка
Инвазивная отладка аналогична тому, что вы делаете при отладке настольного приложения. ЦП (выполнение программы) останавливается, вы видите стек ЦП/программы и можете изменить его
Неинвазивная отладка означает, что вы не останавливаете выполнение процессора/программы, вы только наблюдаете за ним, поэтому не можете его изменить. «Трассировка» относится к этому типу режима отладки (неинвазивному).
Для получения дополнительной информации: https://developer.arm.com/documentation/ddi0433/c/debug/debugging-modes .