Linespec Locations (Debugging with GDB)
Next: Explicit Locations, Up: Specify Location [Contents][Index]
9.2.1 Linespec Locations
A linespec is a colon-separated list of source location parameters such as file name, function name, etc. Here are all the different ways of specifying a linespec:
linenumSpecifies the line number
linenumof the current source file.-offset
+offsetSpecifies the line
offsetlines before or after the current line. For thelistcommand, the current line is the last one printed; for the breakpoint commands, this is the line at which execution stopped in the currently selected stack frame (see Frames, for a description of stack frames.) When used as the second of the two linespecs in alistcommand, this specifies the lineoffsetlines up or down from the first linespec.filename:linenumSpecifies the line
linenumin the source filefilename. Iffilenameis a relative file name, then it will match any source file name with the same trailing components. For example, iffilenameis ‘gcc/expr.c’, then it will match source file name of/build/trunk/gcc/expr.c, but not/build/trunk/libcpp/expr.cor/build/trunk/gcc/x-expr.c.functionSpecifies the line that begins the body of the function
function. For example, in C, this is the line with the open brace.By default, in C++ and Ada,
functionis interpreted as specifying all functions namedfunctionin all scopes. For C++, this means in all namespaces and classes. For Ada, this means in all packages.For example, assuming a program with C++ symbols named
A::B::funcandB::func, both commands break func /@w and break B::func /@w set a breakpoint on both symbols.Commands that accept a linespec let you override this with the
-qualifiedoption. For example, break -qualified func /@w sets a breakpoint on a free-function namedfuncignoring any C++ class methods and namespace functions calledfunc.See Explicit Locations.
function:labelSpecifies the line where
labelappears infunction.filename:functionSpecifies the line that begins the body of the function
functionin the filefilename. You only need the file name with a function name to avoid ambiguity when there are identically named functions in different source files.labelSpecifies the line at which the label named
labelappears in the function corresponding to the currently selected stack frame. If there is no current selected stack frame (for instance, if the inferior is not running), then GDB will not search for a label.-pstap|-probe-stap [objfile:[provider:]]nameThe GNU/Linux tool
SystemTapprovides a way for applications to embed static probes. See Static Probe Points, for more information on finding and using static probes. This form of linespec specifies the location of such a static probe.If
objfileis given, only probes coming from that shared library or executable matchingobjfileas a regular expression are considered. Ifprovideris given, then only probes from that provider are considered. If several probes match the spec, GDB will insert a breakpoint at each one of those probes.
Next: Explicit Locations, Up: Specify Location [Contents][Index]