Войти или зарегистрироваться чтобы ответить!

Ответы


боян
от: jjdredd 2 years ago ответ
Не, ну по большому счету это боян 15-летней давности. Просто интересно, какие специфические стратегии/методы для отладки/логгирования юзают в ядре.
от: root 2 years ago ответ
История так себе. Линус поливает периодически говном всех итеративно, кажется, что все уже привыкли сильно.

С дебагам все весело. Очевидно, 1. printk() всех вариаций и мастей идет вне конкурса, second to none метод, так сказать. Это наше фсио. Если есть второй uart, например, который ядро не использует по умолчанию, то какой-нибудь лоу-левел и асм можно туда логгировать потихоньку (про последствия легко догадаться).

2. А вот тут кто во что горазд. И всякие trace'ы разнообразные, самопальные модуль которые в sysfs, debug fs умеют отдавать, писать важное в шареную память, хвардврные дебаггеры (типа lauterbach trace32), софтварные дебаггеры, через виртуалки и прочие модельки, эмуляторы. И имя им всем — легион.

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

P.S. Дебагу постоянно мешают все подряд. Например, watchdog какие-нибудь выбешивает регулярно.
от: reimers 2 years ago ответ
Спасибо, очень познавательно! А то, что для дебага используют 10050 инструментов -- это отсутствие (желания) стандартизации, или каждая область очень специфична?
от: root 2 years ago ответ
Сложный вопрос.
И так, и так, и сяк. И еще разнообразие платформ роль играет (догадываюсь, что не на любом x86 можно провернуть все то, что можно на Arm v7 провернуть).

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

Еще, наверное, получается, что хардварный jtag сам по себе стоит дорого, т.е. получается что можно сделать какую-то задачу, которую можно с его помощью сделать, можно сделать софтом и дешевле (для всех).
от: reimers 2 years ago ответ


Субреддит для пользователей популярной операционной системы и обсуждения вопросов развития, использования, установки и ее недостатков. А так же для просьб о помощи и полезных ответов/советов.

Субреддиты