diff --git a/Ghidra/Debug/Debugger/certification.manifest b/Ghidra/Debug/Debugger/certification.manifest index eab950b8d5..1e12776852 100644 --- a/Ghidra/Debug/Debugger/certification.manifest +++ b/Ghidra/Debug/Debugger/certification.manifest @@ -31,6 +31,9 @@ src/main/help/help/topics/DebuggerBreakpointsPlugin/DebuggerBreakpointsPlugin.ht src/main/help/help/topics/DebuggerBreakpointsPlugin/images/DebuggerBreakpointsPlugin.png||GHIDRA||||END| src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoint-disable.png||GHIDRA||||END| src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoint-enable.png||GHIDRA||||END| +src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoint-ineffective-d.png||GHIDRA||||END| +src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoint-ineffective-e.png||GHIDRA||||END| +src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoint-mixed-de.png||GHIDRA||||END| src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoint-mixed-ed.png||GHIDRA||||END| src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoints-clear-all.png||GHIDRA||||END| src/main/help/help/topics/DebuggerBreakpointsPlugin/images/breakpoints-disable-all.png||GHIDRA||||END| @@ -120,6 +123,8 @@ src/main/resources/images/blank.png||GHIDRA||||END| src/main/resources/images/breakpoint-clear.png||GHIDRA||||END| src/main/resources/images/breakpoint-disable.png||GHIDRA||||END| src/main/resources/images/breakpoint-enable.png||GHIDRA||||END| +src/main/resources/images/breakpoint-ineffective-d.png||GHIDRA||||END| +src/main/resources/images/breakpoint-ineffective-e.png||GHIDRA||||END| src/main/resources/images/breakpoint-mixed-de.png||GHIDRA||||END| src/main/resources/images/breakpoint-mixed-ed.png||GHIDRA||||END| src/main/resources/images/breakpoint-set.png||GHIDRA||||END| @@ -165,6 +170,8 @@ src/main/svg/blank.svg||GHIDRA||||END| src/main/svg/breakpoint-clear.svg||GHIDRA||||END| src/main/svg/breakpoint-disable.svg||GHIDRA||||END| src/main/svg/breakpoint-enable.svg||GHIDRA||||END| +src/main/svg/breakpoint-ineffective-d.svg||GHIDRA||||END| +src/main/svg/breakpoint-ineffective-e.svg||GHIDRA||||END| src/main/svg/breakpoint-mixed-de.svg||GHIDRA||||END| src/main/svg/breakpoint-mixed-ed.svg||GHIDRA||||END| src/main/svg/breakpoint-set.svg||GHIDRA||||END| diff --git a/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointMarkerPlugin/images/DebuggerPlaceBreakpointDialog.png b/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointMarkerPlugin/images/DebuggerPlaceBreakpointDialog.png index a7a15a84b9..87db1282ca 100644 Binary files a/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointMarkerPlugin/images/DebuggerPlaceBreakpointDialog.png and b/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointMarkerPlugin/images/DebuggerPlaceBreakpointDialog.png differ diff --git a/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointsPlugin/DebuggerBreakpointsPlugin.html b/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointsPlugin/DebuggerBreakpointsPlugin.html index 746711b1b8..b26b6b1eeb 100644 --- a/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointsPlugin/DebuggerBreakpointsPlugin.html +++ b/Ghidra/Debug/Debugger/src/main/help/help/topics/DebuggerBreakpointsPlugin/DebuggerBreakpointsPlugin.html @@ -25,7 +25,7 @@

Breakpoints refer to any mechanism which may trap execution based on an address. The breakpoints manager presents all active breakpoints among all open programs and live traces. Note that dead traces are not considered, and only the breakpoints at the present are - considered, even if the user has stepped a trace backward. Breakpoints which map to the same + displayed, even if the user has stepped a trace backward. Breakpoints which map to the same address in the same module, i.e., program image, and otherwise share the same attributes, are grouped into a logical breakpoint. NOTE: The breakpoints window cannot display or manipulate breakpoints from a target until that target is recorded into a trace. See the without respect to the specifications. Often the specification is at a higher stratum than Ghidra natively understands, e.g., the source filename and line number, and so such - specifications are not relevant. Note, however, that the model may not permit locations to be + specifications are not relevant. Note, however, that the model might not permit locations to be manipulated independently of their specification, which may limit how the manager can operate on each breakpoint location.

Because of the logical grouping of breakpoints, it is possible for a breakpoint to be in a mixed or inconsistent state. This happens quite commonly, e.g., when a breakpoint is placed in a Ghidra program before that program is mapped in any traced target. Once mapped in, the - location of that breakpoint in the trace is computed and noted as missing. A missing location - in a logical breakpoint is treated the same as a disabled breakpoint. Thus, the logical - breakpoint enters an inconsistent state, because it is "enabled" in the program, but "disabled" - in the trace. Toggling such a breakpoint enables all missing locations, bringing it into a - consistent enabled state. Toggling it again will disable all locations.

+ location of that breakpoint in the trace is computed and noted as missing. A logical breakpoint + without any location in a trace (i.e., on an actual target) is called "ineffective" and is + drawn in grey. An enabled logical breakpoint having a disabled location is called + "inconsistent" and its icon will indicate that state. A disabled logical breakpoint having an + enabled location is similarly "inconsistent." Toggling ineffective or inconsistent breakpoints + enables and/or places all locations, bringing it into a consistent enabled state. Toggling it + again disables all locations.

Tables and Columns

The top table, which lists logical breakpoints, has the following columns: