Точки: breakpoint, watch, Point, clear

Точки останова и наблюдения как объекты Point с состоянием и снятием.

с 0.1.0-rc.1с 0.3.0

Методы

ЭлементСигнатураДоступен сAPI 3
breakpointbreakpoint(location, temporary=False, *, condition=None, ignore_count=0) -> Point0.1.0-rc.1без изменений
watchwatch(path) -> Point0.3.0без изменений
PointPoint: active, hit_count, condition; enable(), disable(), remove(), with0.3.0без изменений
clearclear() -> None0.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

Фрагменты показывают отклонённые или нежелательные приёмы, а не рабочий рецепт.

Фрагменты для тела сценария; символы прошивки условные.

← ИнъекцииВсе группыЖурнал и SKIP →