Как стать автором
Обновить

Комментарии 12

Время за полночь, наткнулся на Вашу статью, ничего не понимаю, но прочитал с интересом.

Класс! Я всегда обходился отладочными принтами, даже в загрузчике, но про JTAG как предпоследний способ помню. Спасибо за статьи!

Я бы рекомендовал еще посмотреть на OpenOCD. Он неожиданно восстал из мертвых и начал активно развиваться.

А по поводу дебага принтами - это хорошо когда они есть. Мы когда-то чинили раннюю загрузку то ли U-Boot, то ли Xen, уже не помню точно. Но факт в том, что на тех этапах загрузки консоль еще не работала. Кто-то придумал гениальную идею - дергать SMC из разных мест, и смотреть как Secure Monitor (это еще на armv7 было) ругается на неизвестный ID запроса.

Хм, с этой точки зрения я на OpenOCD не смотрел очень давно, а вот программироваться всякие CPLD - только в путь. Спасибо за наводку!

Ну там например активно развивается поддержка ARMv8, что меня безмерно радует. Плюс он умеет одну очень крутую штуку, которую не может дорогущий Lauterbach - одновременный дебаг нескольких ядер с разной архитектурой. На том SoC, с которым мы в основном работаем есть как и здоровые Cortex A5x на ARMv8, так и пару Cortex R на ARMv7. С OpenOCD я могу отлаживать их одновременно. В Trace32 - нет.

НЛО прилетело и опубликовало эту надпись здесь

wingdb от слова windows?)

Даже в 2122 будут этапы загрузки компьютера, на которых без подобной околожелезной отладки никуда не деться.

gdb сервера есть практически везде: от софтовых в Android и заканчивая типа "аппаратными" в каком-нибудь Black Magic Probe. Ну и само собой они есть в qemu и openocd.

А вот удаленный протокол WinDbg поддерживает... кто? Только Windows?

НЛО прилетело и опубликовало эту надпись здесь

вы имеете ввиду нечто подобное ?

Зависит от того что нужно отлаживать. Если какой-нибудь высокопараллельный процесс вроде скедулинга или там отрисовки буферов в DRM - то тут конечно трейсинг (особенно аппартный) рулит. А вот классические профилировщики типа oprofile помогают в очень редких случаях.

Но бывает класс задач где как раз нужен пошаговый отладчик, чтобы например посмотреть состояние памяти, регистров периферии, да и банально пошагать по ассемблерному коду, который писал вручную.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории