<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2015 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.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Assignment</title>

<meta name="description" content="Debugging with GDB: Assignment">
<meta name="keywords" content="Debugging with GDB: Assignment">
<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="Altering.html#Altering" rel="up" title="Altering">
<link href="Jumping.html#Jumping" rel="next" title="Jumping">
<link href="Altering.html#Altering" rel="prev" title="Altering">
<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="Assignment"></a>
<div class="header">
<p>
Next: <a href="Jumping.html#Jumping" accesskey="n" rel="next">Jumping</a>, Up: <a href="Altering.html#Altering" accesskey="u" rel="up">Altering</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="Assignment-to-Variables"></a>
<h3 class="section">17.1 Assignment to Variables</h3>

<a name="index-assignment"></a>
<a name="index-setting-variables"></a>
<p>To alter the value of a variable, evaluate an assignment expression.
See <a href="Expressions.html#Expressions">Expressions</a>.  For example,
</p>
<div class="smallexample">
<pre class="smallexample">print x=4
</pre></div>

<p>stores the value 4 into the variable <code>x</code>, and then prints the
value of the assignment expression (which is 4).
See <a href="Languages.html#Languages">Using <small>GDB</small> with Different Languages</a>, for more
information on operators in supported languages.
</p>
<a name="index-set-variable"></a>
<a name="index-variables_002c-setting"></a>
<p>If you are not interested in seeing the value of the assignment, use the
<code>set</code> command instead of the <code>print</code> command.  <code>set</code> is
really the same as <code>print</code> except that the expression&rsquo;s value is
not printed and is not put in the value history (see <a href="Value-History.html#Value-History">Value History</a>).  The expression is evaluated only for its effects.
</p>
<p>If the beginning of the argument string of the <code>set</code> command
appears identical to a <code>set</code> subcommand, use the <code>set
variable</code> command instead of just <code>set</code>.  This command is identical
to <code>set</code> except for its lack of subcommands.  For example, if your
program has a variable <code>width</code>, you get an error if you try to set
a new value with just &lsquo;<samp>set width=13</samp>&rsquo;, because <small>GDB</small> has the
command <code>set width</code>:
</p>
<div class="smallexample">
<pre class="smallexample">(gdb) whatis width
type = double
(gdb) p width
$4 = 13
(gdb) set width=47
Invalid syntax in expression.
</pre></div>

<p>The invalid expression, of course, is &lsquo;<samp>=47</samp>&rsquo;.  In
order to actually set the program&rsquo;s variable <code>width</code>, use
</p>
<div class="smallexample">
<pre class="smallexample">(gdb) set var width=47
</pre></div>

<p>Because the <code>set</code> command has many subcommands that can conflict
with the names of program variables, it is a good idea to use the
<code>set variable</code> command instead of just <code>set</code>.  For example, if
your program has a variable <code>g</code>, you run into problems if you try
to set a new value with just &lsquo;<samp>set g=4</samp>&rsquo;, because <small>GDB</small> has
the command <code>set gnutarget</code>, abbreviated <code>set g</code>:
</p>
<div class="smallexample">
<pre class="smallexample">(gdb) whatis g
type = double
(gdb) p g
$1 = 1
(gdb) set g=4
(gdb) p g
$2 = 1
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/smith/cc_progs/a.out
&quot;/home/smith/cc_progs/a.out&quot;: can't open to read symbols:
                                 Invalid bfd target.
(gdb) show g
The current BFD target is &quot;=4&quot;.
</pre></div>

<p>The program variable <code>g</code> did not change, and you silently set the
<code>gnutarget</code> to an invalid value.  In order to set the variable
<code>g</code>, use
</p>
<div class="smallexample">
<pre class="smallexample">(gdb) set var g=4
</pre></div>

<p><small>GDB</small> allows more implicit conversions in assignments than C; you can
freely store an integer value into a pointer variable or vice versa,
and you can convert any structure to any other structure that is the
same length or shorter.
</p>
<p>To store values into arbitrary places in memory, use the &lsquo;<samp>{&hellip;}</samp>&rsquo;
construct to generate a value of specified type at a specified address
(see <a href="Expressions.html#Expressions">Expressions</a>).  For example, <code>{int}0x83040</code> refers
to memory location <code>0x83040</code> as an integer (which implies a certain size
and representation in memory), and
</p>
<div class="smallexample">
<pre class="smallexample">set {int}0x83040 = 4
</pre></div>

<p>stores the value 4 into that memory location.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Jumping.html#Jumping" accesskey="n" rel="next">Jumping</a>, Up: <a href="Altering.html#Altering" accesskey="u" rel="up">Altering</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>
