hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
 
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs
Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
and with the Back-Cover Texts as in (a) below.
 
(a) The FSF's Back-Cover Text is: "You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Linespec Locations</title>
 
<meta name="description" content="Debugging with GDB: Linespec Locations">
<meta name="keywords" content="Debugging with GDB: Linespec Locations">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Specify-Location.html#Specify-Location" rel="up" title="Specify Location">
<link href="Explicit-Locations.html#Explicit-Locations" rel="next" title="Explicit Locations">
<link href="Specify-Location.html#Specify-Location" rel="previous" title="Specify Location">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
 
 
</head>
 
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Linespec-Locations"></a>
<div class="header">
<p>
Next: <a href="Explicit-Locations.html#Explicit-Locations" accesskey="n" rel="next">Explicit Locations</a>, Up: <a href="Specify-Location.html#Specify-Location" accesskey="u" rel="up">Specify Location</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Linespec-Locations-1"></a>
<h4 class="subsection">9.2.1 Linespec Locations</h4>
<a name="index-linespec-locations"></a>
 
<p>A <em>linespec</em> 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:
</p>
<dl compact="compact">
<dt><code><var>linenum</var></code></dt>
<dd><p>Specifies the line number <var>linenum</var> of the current source file.
</p>
</dd>
<dt><code>-<var>offset</var></code></dt>
<dt><code>+<var>offset</var></code></dt>
<dd><p>Specifies the line <var>offset</var> lines before or after the <em>current
line</em>.  For the <code>list</code> command, the current line is the last one
printed; for the breakpoint commands, this is the line at which
execution stopped in the currently selected <em>stack frame</em>
(see <a href="Frames.html#Frames">Frames</a>, for a description of stack frames.)  When
used as the second of the two linespecs in a <code>list</code> command,
this specifies the line <var>offset</var> lines up or down from the first
linespec.
</p>
</dd>
<dt><code><var>filename</var>:<var>linenum</var></code></dt>
<dd><p>Specifies the line <var>linenum</var> in the source file <var>filename</var>.
If <var>filename</var> is a relative file name, then it will match any
source file name with the same trailing components.  For example, if
<var>filename</var> is &lsquo;<samp>gcc/expr.c</samp>&rsquo;, then it will match source file
name of <samp>/build/trunk/gcc/expr.c</samp>, but not
<samp>/build/trunk/libcpp/expr.c</samp> or <samp>/build/trunk/gcc/x-expr.c</samp>.
</p>
</dd>
<dt><code><var>function</var></code></dt>
<dd><p>Specifies the line that begins the body of the function <var>function</var>.
For example, in C, this is the line with the open brace.
</p>
<p>By default, in C<tt>++</tt> and Ada, <var>function</var> is interpreted as
specifying all functions named <var>function</var> in all scopes.  For
C<tt>++</tt>, this means in all namespaces and classes.  For Ada, this
means in all packages.
</p>
<p>For example, assuming a program with C<tt>++</tt> symbols named
<code>A::B::func</code> and <code>B::func</code>, both commands <kbd>break&nbsp;func</kbd><!-- /@w --> and <kbd>break&nbsp;B::func</kbd><!-- /@w --> set a breakpoint on both symbols.
</p>
<p>Commands that accept a linespec let you override this with the
<code>-qualified</code> option.  For example, <kbd>break&nbsp;<span class="nolinebreak">-qualified</span>&nbsp;func</kbd><!-- /@w --> sets a breakpoint on a free-function named <code>func</code> ignoring
any C<tt>++</tt> class methods and namespace functions called <code>func</code>.
</p>
<p>See <a href="Explicit-Locations.html#Explicit-Locations">Explicit Locations</a>.
</p>
</dd>
<dt><code><var>function</var>:<var>label</var></code></dt>
<dd><p>Specifies the line where <var>label</var> appears in <var>function</var>.
</p>
</dd>
<dt><code><var>filename</var>:<var>function</var></code></dt>
<dd><p>Specifies the line that begins the body of the function <var>function</var>
in the file <var>filename</var>.  You only need the file name with a
function name to avoid ambiguity when there are identically named
functions in different source files.
</p>
</dd>
<dt><code><var>label</var></code></dt>
<dd><p>Specifies the line at which the label named <var>label</var> appears
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 <small>GDB</small> will not search for a label.
</p>
<a name="index-breakpoint-at-static-probe-point"></a>
</dd>
<dt><code>-pstap|-probe-stap <span class="roman">[</span><var>objfile</var>:<span class="roman">[</span><var>provider</var>:<span class="roman">]</span><span class="roman">]</span><var>name</var></code></dt>
<dd><p>The <small>GNU</small>/Linux tool <code>SystemTap</code> provides a way for
applications to embed static probes.  See <a href="Static-Probe-Points.html#Static-Probe-Points">Static Probe Points</a>, for more
information on finding and using static probes.  This form of linespec
specifies the location of such a static probe.
</p>
<p>If <var>objfile</var> is given, only probes coming from that shared library
or executable matching <var>objfile</var> as a regular expression are considered.
If <var>provider</var> is given, then only probes from that provider are considered.
If several probes match the spec, <small>GDB</small> will insert a breakpoint at
each one of those probes.
</p></dd>
</dl>
 
<hr>
<div class="header">
<p>
Next: <a href="Explicit-Locations.html#Explicit-Locations" accesskey="n" rel="next">Explicit Locations</a>, Up: <a href="Specify-Location.html#Specify-Location" accesskey="u" rel="up">Specify Location</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
 
 
 
</body>
</html>