| Wireshark 4.7.3 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
Public Attributes | List of all members
bp_site_key_t Struct Reference

Set of ``(canonical_path, line) pairs that currently host an active regular breakpoint. More...

## Public Attributes
char * | path
int64_t | line

## Detailed Description

Set of ``(canonical_path, line) pairs that currently host an active regular breakpoint.

Used by wslua_debug_hook to early-out on lines that aren't breakpoint sites without locking debugger.mutex or walking breakpoints_array.

Rebuild rule: a mutator must call rebuild_bp_site_set_locked iff it changes whether an active breakpoint exists at a given ``(canonical_path, line) pair. In practice this is:

- `wslua_debugger_set_breakpoint` (adds a row, always active),
- `wslua_debugger_remove_breakpoint`,
- `wslua_debugger_set_breakpoint_active` (flips `bp->active`),
- `wslua_debugger_clear_breakpoints`,
- and the `WSLUA_HIT_COUNT_MODE_ONCE` auto-disable inside the line hook.

The condition / hit-count target / hit-count mode / log-message / log-also-pause / hit-count-reset setters intentionally do NOT rebuild — they don't move sites in or out of the set, so the slow path still finds the row by ``(canonical_path, line) once the membership test admits the line.

The rebuild runs under `debugger.mutex`, so the new set snapshot is consistent with the array changes the slow path will see on the next hook fire for the affected line.

The temporary breakpoint (Run-To-Line) is intentionally NOT in this set — it's checked separately at the bottom of the hook.

## Member Data Documentation

## ◆ line

int64_t bp_site_key_t::line

1-based line number.

## ◆ path

char* bp_site_key_t::path

Canonical file path, owned by this entry.

The documentation for this struct was generated from the following file:

- /builds/wireshark/wireshark/epan/wslua/wslua_debugger.c