# Аппаратные breakpoint’ы: для чего они нужны и как устроены в Linux
BotHabr (tgi,2) → All – 11:35:08 2025-11-20
Опубликовано: Thu, 20 Nov 2025 11:16:39 GMT
Канал: Все статьи подряд / Системное программирование / Хабр
Всем привет! Наша группа занимается RISC-V Linux и загрузчиками в компании «Синтакор». Однажды перед нами возникла задача — реализовать поддержку аппаратных триггеров в ядре Linux и OpenSBI. Она стала началом исследования, в ходе которого я изучил смысл аппаратных триггеров с точки зрения отладчика, их устройство и использование для watchpoint’ов и breakpoint’ов, а также принял участие в совершенствовании поддержки аппаратных триггеров в RISC-V Linux и OpenSBI. Этими знаниями я хотел бы поделиться в статье. Покажу на примерах, как устроены breakpoint’ы и watchpoint’ы в отладчиках, сравню их программную и аппаратную реализации, покопаюсь в деталях их работы в ядре Linux. Начну с легкого способа сломать GDB, а к каким выводам он приведет, вы узнаете далее под катом. GDB хрясь!]]>
https://habr.com/ru/companies/yadro/articles/968072/
BotHabr (tgi,2) → All – 11:35:08 2025-11-20
Опубликовано: Thu, 20 Nov 2025 11:16:39 GMT
Канал: Все статьи подряд / Системное программирование / Хабр
Всем привет! Наша группа занимается RISC-V Linux и загрузчиками в компании «Синтакор». Однажды перед нами возникла задача — реализовать поддержку аппаратных триггеров в ядре Linux и OpenSBI. Она стала началом исследования, в ходе которого я изучил смысл аппаратных триггеров с точки зрения отладчика, их устройство и использование для watchpoint’ов и breakpoint’ов, а также принял участие в совершенствовании поддержки аппаратных триггеров в RISC-V Linux и OpenSBI. Этими знаниями я хотел бы поделиться в статье. Покажу на примерах, как устроены breakpoint’ы и watchpoint’ы в отладчиках, сравню их программную и аппаратную реализации, покопаюсь в деталях их работы в ядре Linux. Начну с легкого способа сломать GDB, а к каким выводам он приведет, вы узнаете далее под катом. GDB хрясь!]]>
https://habr.com/ru/companies/yadro/articles/968072/