Точки: breakpoint, watch, Point, clear
Точки останова и наблюдения как объекты Point с состоянием и снятием.
с 0.1.0-rc.1с 0.3.0
Методы
| Элемент | Сигнатура | Доступен с | API 3 |
|---|---|---|---|
breakpoint | breakpoint(location, temporary=False, *, condition=None, ignore_count=0) -> Point | 0.1.0-rc.1 | без изменений |
watch | watch(path) -> Point | 0.3.0 | без изменений |
Point | Point: active, hit_count, condition; enable(), disable(), remove(), with | 0.3.0 | без изменений |
clear | clear() -> None | 0.1.0-rc.1 | без изменений |
Изменения API 3 (0.5.0)
Без изменений; условие точки вычисляется без вызовов функций.
Правильно
watch и breakpoint — контекстом with или с явным remove().
with t.watch("app_state.ticks"):
t.resume()
point = t.breakpoint("board_led_toggle")
t.reach("app_loop")
t.check("point is active", point.active, True)
point.remove()Не рекомендуется
gdb.execute("break …") обходит Target: точка не учитывается и не снимается. clear() удаляет и защиту от отказов — только намеренно.
import gdb
gdb.execute("break board_led_toggle") # not tracked, not cleaned up
t.clear() # also removes fault guardsФрагменты показывают отклонённые или нежелательные приёмы, а не рабочий рецепт.
Фрагменты для тела сценария; символы прошивки условные.