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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2023 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: Edit</title>
<meta name="description" content="Debugging with GDB: Edit">
<meta name="keywords" content="Debugging with GDB: Edit">
<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="Source.html#Source" rel="up" title="Source">
<link href="Search.html#Search" rel="next" title="Search">
<link href="Address-Locations.html#Address-Locations" rel="previous" title="Address Locations">
<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="Edit"></a>
<div class="header">
<p>
Next: <a href="Search.html#Search" accesskey="n" rel="next">Search</a>, Previous: <a href="Location-Specifications.html#Location-Specifications" accesskey="p" rel="previous">Location Specifications</a>, Up: <a href="Source.html#Source" accesskey="u" rel="up">Source</a> [<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="Editing-Source-Files"></a>
<h3 class="section">9.3 Editing Source Files</h3>
<a name="index-editing-source-files"></a>
<a name="index-edit"></a>
<a name="index-e-_0028edit_0029"></a>
<p>To edit the lines in a source file, use the <code>edit</code> command.
The editing program of your choice
is invoked with the current line set to
the active line in the program.
Alternatively, there are several ways to specify what part of the file you
want to print if you want to see other parts of the program:
</p>
<dl compact="compact">
<dt><code>edit <var>locspec</var></code></dt>
<dd><p>Edit the source file of the code location that results from resolving
<code>locspec</code>. Editing starts at the source file and source line
<code>locspec</code> resolves to.
See <a href="Location-Specifications.html#Location-Specifications">Location Specifications</a>, for all the possible forms of the
<var>locspec</var> argument.
</p>
<p>If <code>locspec</code> resolves to more than one source line in your
program, then the command prints the list of resolved source lines and
does not proceed with the editing.
</p>
<p>Here are the forms of the <code>edit</code> command most commonly used:
</p>
<dl compact="compact">
<dt><code>edit <var>number</var></code></dt>
<dd><p>Edit the current source file with <var>number</var> as the active line number.
</p>
</dd>
<dt><code>edit <var>function</var></code></dt>
<dd><p>Edit the file containing <var>function</var> at the beginning of its definition.
</p></dd>
</dl>
</dd>
</dl>
<a name="Choosing-your-Editor"></a>
<h4 class="subsection">9.3.1 Choosing your Editor</h4>
<p>You can customize <small>GDB</small> to use any editor you want
<a name="DOCF10" href="#FOOT10"><sup>10</sup></a>.
By default, it is <samp>/bin/ex</samp>, but you can change this
by setting the environment variable <code>EDITOR</code> before using
<small>GDB</small>. For example, to configure <small>GDB</small> to use the
<code>vi</code> editor, you could use these commands with the <code>sh</code> shell:
</p><div class="smallexample">
<pre class="smallexample">EDITOR=/usr/bin/vi
export EDITOR
gdb …
</pre></div>
<p>or in the <code>csh</code> shell,
</p><div class="smallexample">
<pre class="smallexample">setenv EDITOR /usr/bin/vi
gdb …
</pre></div>
<div class="footnote">
<hr>
<h4 class="footnotes-heading">Footnotes</h4>
<h3><a name="FOOT10" href="#DOCF10">(10)</a></h3>
<p>The only restriction is that your editor (say <code>ex</code>), recognizes the
following command-line syntax:
</p><div class="smallexample">
<pre class="smallexample">ex +<var>number</var> file
</pre></div>
<p>The optional numeric value +<var>number</var> specifies the number of the line in
the file where to start editing.</p>
</div>
<hr>
<div class="header">
<p>
Next: <a href="Search.html#Search" accesskey="n" rel="next">Search</a>, Previous: <a href="Location-Specifications.html#Location-Specifications" accesskey="p" rel="previous">Location Specifications</a>, Up: <a href="Source.html#Source" accesskey="u" rel="up">Source</a> [<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>
|