GDB's breakpoint internals

Andrew Cagney
2003-03-26T00:31:34Z

(Put simply, the things you learn when reading a book explaining how a
debugger should work :-)

The `How Debuggers Work' [rosenberg] book describes a breakpoint
implementation broken into two parts:

- high level user breakpoint list
This is what the user sees. One entry corresponds to each `break XXX'
command. That high level breakpoint then maps onto 1 or more ...

- low level physical breakpoints (or watchpoints or ...)
One entry per physical breakpoint. When a breakpoint is hit, a reverse
map back to each high-level breakpoint for the event is done, and then
that breakpoint's handler is called.

I might be mistaken, but I don't think GDB implemented things this way.
Instead, it has a single tangled table.

Andrew