Debugging with GDB: GDB/MI Breakpoint Information

Next: GDB/MI Frame Information, Previous: GDB/MI Async Records, Up: GDB/MI Output Records [Contents][Index]

#### 27.5.4 GDB/MI Breakpoint Information

When GDB reports information about a breakpoint, a tracepoint, a watchpoint, or a catchpoint, it uses a tuple with the following fields:

`number`

  The breakpoint number. For a breakpoint that represents one location of a multi-location breakpoint, this will be a dotted pair, like ‘`1.2`’.

`type`

  The type of the breakpoint. For ordinary breakpoints this will be ‘`breakpoint`’, but many values are possible.

`catch-type`

  If the type of the breakpoint is ‘`catchpoint`’, then this indicates the exact type of catchpoint.

`disp`

  This is the breakpoint disposition—either ‘`del`’, meaning that the breakpoint will be deleted at the next stop, or ‘`keep`’, meaning that the breakpoint will not be deleted.

`enabled`

  This indicates whether the breakpoint is enabled, in which case the value is ‘`y`’, or disabled, in which case the value is ‘`n`’. Note that this is not the same as the field `enable`.

`addr`

  The address of the breakpoint. This may be a hexidecimal number, giving the address; or the string ‘`<PENDING>`’, for a pending breakpoint; or the string ‘`<MULTIPLE>`’, for a breakpoint with multiple locations. This field will not be present if no address can be determined. For example, a watchpoint does not have an address.

`func`

  If known, the function in which the breakpoint appears. If not known, this field is not present.

`filename`

  The name of the source file which contains this function, if known. If not known, this field is not present.

`fullname`

  The full file name of the source file which contains this function, if known. If not known, this field is not present.

`line`

  The line number at which this breakpoint appears, if known. If not known, this field is not present.

`at`

  If the source file is not known, this field may be provided. If provided, this holds the address of the breakpoint, possibly followed by a symbol name.

`pending`

  If this breakpoint is pending, this field is present and holds the text used to set the breakpoint, as entered by the user.

`evaluated-by`

  Where this breakpoint’s condition is evaluated, either ‘`host`’ or ‘`target`’.

`thread`

  If this is a thread-specific breakpoint, then this identifies the thread in which the breakpoint can trigger.

`task`

  If this breakpoint is restricted to a particular Ada task, then this field will hold the task identifier.

`cond`

  If the breakpoint is conditional, this is the condition expression.

`ignore`

  The ignore count of the breakpoint.

`enable`

  The enable count of the breakpoint.

`traceframe-usage`

  FIXME.

`static-tracepoint-marker-string-id`

  For a static tracepoint, the name of the static tracepoint marker.

`mask`

  For a masked watchpoint, this is the mask.

`pass`

  A tracepoint’s pass count.

`original-location`

  The location of the breakpoint as originally specified by the user. This field is optional.

`times`

  The number of times the breakpoint has been hit.

`installed`

  This field is only given for tracepoints. This is either ‘`y`’, meaning that the tracepoint is installed, or ‘`n`’, meaning that it is not.

`what`

  Some extra data, the exact contents of which are type-dependent.

For example, here is what the output of `-break-insert` (see GDB/MI Breakpoint Commands) might be:

    -> -break-insert main
    <- ^done,bkpt={number="1",type="breakpoint",disp="keep",
        enabled="y",addr="0x08048564",func="main",file="myprog.c",
        fullname="/home/nickrob/myprog.c",line="68",thread-groups=["i1"],
        times="0"}
    <- (gdb)

Next: GDB/MI Frame Information, Previous: GDB/MI Async Records, Up: GDB/MI Output Records [Contents][Index]